xref: /openbmc/u-boot/arch/arm/Kconfig (revision 6c9a1003)
1menu "ARM architecture"
2	depends on ARM
3
4config SYS_ARCH
5	default "arm"
6
7config ARM64
8	bool
9	select PHYS_64BIT
10	select SYS_CACHE_SHIFT_6
11
12config DMA_ADDR_T_64BIT
13	bool
14	default y if ARM64
15
16config HAS_VBAR
17	bool
18
19config HAS_THUMB2
20	bool
21
22# If set, the workarounds for these ARM errata are applied early during U-Boot
23# startup. Note that in general these options force the workarounds to be
24# applied; no CPU-type/version detection exists, unlike the similar options in
25# the Linux kernel. Do not set these options unless they apply!  Also note that
26# the following can be machine specific errata. These do have ability to
27# provide rudimentary version and machine specific checks, but expect no
28# product checks:
29# CONFIG_ARM_ERRATA_430973
30# CONFIG_ARM_ERRATA_454179
31# CONFIG_ARM_ERRATA_621766
32# CONFIG_ARM_ERRATA_798870
33# CONFIG_ARM_ERRATA_801819
34config ARM_ERRATA_430973
35	bool
36
37config ARM_ERRATA_454179
38	bool
39
40config ARM_ERRATA_621766
41	bool
42
43config ARM_ERRATA_716044
44	bool
45
46config ARM_ERRATA_725233
47	bool
48
49config ARM_ERRATA_742230
50	bool
51
52config ARM_ERRATA_743622
53	bool
54
55config ARM_ERRATA_751472
56	bool
57
58config ARM_ERRATA_761320
59	bool
60
61config ARM_ERRATA_773022
62	bool
63
64config ARM_ERRATA_774769
65	bool
66
67config ARM_ERRATA_794072
68	bool
69
70config ARM_ERRATA_798870
71	bool
72
73config ARM_ERRATA_801819
74	bool
75
76config ARM_ERRATA_826974
77	bool
78
79config ARM_ERRATA_828024
80	bool
81
82config ARM_ERRATA_829520
83	bool
84
85config ARM_ERRATA_833069
86	bool
87
88config ARM_ERRATA_833471
89	bool
90
91config CPU_ARM720T
92	bool
93	select SYS_CACHE_SHIFT_5
94
95config CPU_ARM920T
96	bool
97	select SYS_CACHE_SHIFT_5
98
99config CPU_ARM926EJS
100	bool
101	select SYS_CACHE_SHIFT_5
102
103config CPU_ARM946ES
104	bool
105	select SYS_CACHE_SHIFT_5
106
107config CPU_ARM1136
108	bool
109	select SYS_CACHE_SHIFT_5
110
111config CPU_ARM1176
112	bool
113	select HAS_VBAR
114	select SYS_CACHE_SHIFT_5
115
116config CPU_V7
117	bool
118	select HAS_VBAR
119	select HAS_THUMB2
120	select SYS_CACHE_SHIFT_6
121
122config CPU_V7M
123	bool
124	select HAS_THUMB2
125	select SYS_CACHE_SHIFT_5
126
127config CPU_PXA
128	bool
129	select SYS_CACHE_SHIFT_5
130
131config CPU_SA1100
132	bool
133	select SYS_CACHE_SHIFT_5
134
135config SYS_CPU
136	default "arm720t" if CPU_ARM720T
137	default "arm920t" if CPU_ARM920T
138	default "arm926ejs" if CPU_ARM926EJS
139	default "arm946es" if CPU_ARM946ES
140	default "arm1136" if CPU_ARM1136
141	default "arm1176" if CPU_ARM1176
142	default "armv7" if CPU_V7
143	default "armv7m" if CPU_V7M
144	default "pxa" if CPU_PXA
145	default "sa1100" if CPU_SA1100
146	default "armv8" if ARM64
147
148config SYS_ARM_ARCH
149	int
150	default 4 if CPU_ARM720T
151	default 4 if CPU_ARM920T
152	default 5 if CPU_ARM926EJS
153	default 5 if CPU_ARM946ES
154	default 6 if CPU_ARM1136
155	default 6 if CPU_ARM1176
156	default 7 if CPU_V7
157	default 7 if CPU_V7M
158	default 5 if CPU_PXA
159	default 4 if CPU_SA1100
160	default 8 if ARM64
161
162config SYS_CACHE_SHIFT_5
163	bool
164
165config SYS_CACHE_SHIFT_6
166	bool
167
168config SYS_CACHE_SHIFT_7
169	bool
170
171config SYS_CACHELINE_SIZE
172	int
173	default 128 if SYS_CACHE_SHIFT_7
174	default 64 if SYS_CACHE_SHIFT_6
175	default 32 if SYS_CACHE_SHIFT_5
176
177config ARM_SMCCC
178	bool "Support for ARM SMC Calling Convention (SMCCC)"
179	depends on CPU_V7 || ARM64
180	select ARM_PSCI_FW
181	help
182	  Say Y here if you want to enable ARM SMC Calling Convention.
183	  This should be enabled if U-Boot needs to communicate with system
184	  firmware (for example, PSCI) according to SMCCC.
185
186config SEMIHOSTING
187	bool "support boot from semihosting"
188	help
189	  In emulated environments, semihosting is a way for
190	  the hosted environment to call out to the emulator to
191	  retrieve files from the host machine.
192
193config SYS_THUMB_BUILD
194	bool "Build U-Boot using the Thumb instruction set"
195	depends on !ARM64
196	help
197	   Use this flag to build U-Boot using the Thumb instruction set for
198	   ARM architectures. Thumb instruction set provides better code
199	   density. For ARM architectures that support Thumb2 this flag will
200	   result in Thumb2 code generated by GCC.
201
202config SPL_SYS_THUMB_BUILD
203	bool "Build SPL using the Thumb instruction set"
204	default y if SYS_THUMB_BUILD
205	depends on !ARM64
206	help
207	   Use this flag to build SPL using the Thumb instruction set for
208	   ARM architectures. Thumb instruction set provides better code
209	   density. For ARM architectures that support Thumb2 this flag will
210	   result in Thumb2 code generated by GCC.
211
212config SYS_L2CACHE_OFF
213	bool "L2cache off"
214	help
215	  If SoC does not support L2CACHE or one do not want to enable
216	  L2CACHE, choose this option.
217
218config ENABLE_ARM_SOC_BOOT0_HOOK
219	bool "prepare BOOT0 header"
220	help
221	  If the SoC's BOOT0 requires a header area filled with (magic)
222	  values, then choose this option, and create a define called
223	  ARM_SOC_BOOT0_HOOK which contains the required assembler
224	  preprocessor code.
225
226config ARM_CORTEX_CPU_IS_UP
227	bool
228	default n
229
230config USE_ARCH_MEMCPY
231	bool "Use an assembly optimized implementation of memcpy"
232	default y
233	depends on !ARM64
234	help
235	  Enable the generation of an optimized version of memcpy.
236	  Such implementation may be faster under some conditions
237	  but may increase the binary size.
238
239config SPL_USE_ARCH_MEMCPY
240	bool "Use an assembly optimized implementation of memcpy"
241	default y if USE_ARCH_MEMCPY
242	depends on !ARM64
243	help
244	  Enable the generation of an optimized version of memcpy.
245	  Such implementation may be faster under some conditions
246	  but may increase the binary size.
247
248config USE_ARCH_MEMSET
249	bool "Use an assembly optimized implementation of memset"
250	default y
251	depends on !ARM64
252	help
253	  Enable the generation of an optimized version of memset.
254	  Such implementation may be faster under some conditions
255	  but may increase the binary size.
256
257config SPL_USE_ARCH_MEMSET
258	bool "Use an assembly optimized implementation of memset"
259	default y if USE_ARCH_MEMSET
260	depends on !ARM64
261	help
262	  Enable the generation of an optimized version of memset.
263	  Such implementation may be faster under some conditions
264	  but may increase the binary size.
265
266config ARM64_SUPPORT_AARCH32
267	bool "ARM64 system support AArch32 execution state"
268	default y if ARM64 && !TARGET_THUNDERX_88XX
269	help
270	  This ARM64 system supports AArch32 execution state.
271
272choice
273	prompt "Target select"
274	default TARGET_HIKEY
275
276config ARCH_AT91
277	bool "Atmel AT91"
278
279config TARGET_EDB93XX
280	bool "Support edb93xx"
281	select CPU_ARM920T
282
283config TARGET_ASPENITE
284	bool "Support aspenite"
285	select CPU_ARM926EJS
286
287config TARGET_GPLUGD
288	bool "Support gplugd"
289	select CPU_ARM926EJS
290
291config ARCH_DAVINCI
292	bool "TI DaVinci"
293	select CPU_ARM926EJS
294	help
295	  Support for TI's DaVinci platform.
296
297config KIRKWOOD
298	bool "Marvell Kirkwood"
299	select CPU_ARM926EJS
300	select BOARD_EARLY_INIT_F
301	select ARCH_MISC_INIT
302
303config ARCH_MVEBU
304	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
305	select OF_CONTROL
306	select OF_SEPARATE
307	select DM
308	select DM_ETH
309	select DM_SERIAL
310	select DM_SPI
311	select DM_SPI_FLASH
312
313config TARGET_DEVKIT3250
314	bool "Support devkit3250"
315	select CPU_ARM926EJS
316	select SUPPORT_SPL
317
318config TARGET_WORK_92105
319	bool "Support work_92105"
320	select CPU_ARM926EJS
321	select SUPPORT_SPL
322
323config TARGET_MX25PDK
324	bool "Support mx25pdk"
325	select BOARD_LATE_INIT
326	select CPU_ARM926EJS
327	select BOARD_EARLY_INIT_F
328
329config TARGET_ZMX25
330	bool "Support zmx25"
331	select BOARD_LATE_INIT
332	select CPU_ARM926EJS
333
334config TARGET_APF27
335	bool "Support apf27"
336	select CPU_ARM926EJS
337	select SUPPORT_SPL
338
339config TARGET_APX4DEVKIT
340	bool "Support apx4devkit"
341	select CPU_ARM926EJS
342	select SUPPORT_SPL
343
344config TARGET_XFI3
345	bool "Support xfi3"
346	select CPU_ARM926EJS
347	select SUPPORT_SPL
348
349config TARGET_M28EVK
350	bool "Support m28evk"
351	select CPU_ARM926EJS
352	select SUPPORT_SPL
353
354config TARGET_MX23EVK
355	bool "Support mx23evk"
356	select CPU_ARM926EJS
357	select SUPPORT_SPL
358	select BOARD_EARLY_INIT_F
359
360config TARGET_MX28EVK
361	bool "Support mx28evk"
362	select CPU_ARM926EJS
363	select SUPPORT_SPL
364	select BOARD_EARLY_INIT_F
365
366config TARGET_MX23_OLINUXINO
367	bool "Support mx23_olinuxino"
368	select CPU_ARM926EJS
369	select SUPPORT_SPL
370	select BOARD_EARLY_INIT_F
371
372config TARGET_BG0900
373	bool "Support bg0900"
374	select CPU_ARM926EJS
375	select SUPPORT_SPL
376
377config TARGET_SANSA_FUZE_PLUS
378	bool "Support sansa_fuze_plus"
379	select CPU_ARM926EJS
380	select SUPPORT_SPL
381
382config TARGET_SC_SPS_1
383	bool "Support sc_sps_1"
384	select CPU_ARM926EJS
385	select SUPPORT_SPL
386
387config ORION5X
388	bool "Marvell Orion"
389	select CPU_ARM926EJS
390
391config TARGET_SPEAR300
392	bool "Support spear300"
393	select CPU_ARM926EJS
394	select BOARD_EARLY_INIT_F
395
396config TARGET_SPEAR310
397	bool "Support spear310"
398	select CPU_ARM926EJS
399	select BOARD_EARLY_INIT_F
400
401config TARGET_SPEAR320
402	bool "Support spear320"
403	select CPU_ARM926EJS
404	select BOARD_EARLY_INIT_F
405
406config TARGET_SPEAR600
407	bool "Support spear600"
408	select CPU_ARM926EJS
409	select BOARD_EARLY_INIT_F
410
411config TARGET_STV0991
412	bool "Support stv0991"
413	select CPU_V7
414	select DM
415	select DM_SERIAL
416	select DM_SPI
417	select DM_SPI_FLASH
418	select SPI_FLASH
419
420config TARGET_X600
421	bool "Support x600"
422	select BOARD_LATE_INIT
423	select CPU_ARM926EJS
424	select SUPPORT_SPL
425
426config TARGET_IMX31_PHYCORE
427	bool "Support imx31_phycore_eet"
428	select CPU_ARM1136
429	select BOARD_EARLY_INIT_F
430
431config TARGET_IMX31_PHYCORE_EET
432	bool "Support imx31_phycore_eet"
433	select BOARD_LATE_INIT
434	select CPU_ARM1136
435	select BOARD_EARLY_INIT_F
436
437config TARGET_MX31ADS
438	bool "Support mx31ads"
439	select CPU_ARM1136
440	select BOARD_EARLY_INIT_F
441
442config TARGET_MX31PDK
443	bool "Support mx31pdk"
444	select BOARD_LATE_INIT
445	select CPU_ARM1136
446	select SUPPORT_SPL
447	select BOARD_EARLY_INIT_F
448
449config TARGET_WOODBURN
450	bool "Support woodburn"
451	select CPU_ARM1136
452
453config TARGET_WOODBURN_SD
454	bool "Support woodburn_sd"
455	select CPU_ARM1136
456	select SUPPORT_SPL
457
458config TARGET_FLEA3
459	bool "Support flea3"
460	select CPU_ARM1136
461
462config TARGET_MX35PDK
463	bool "Support mx35pdk"
464	select BOARD_LATE_INIT
465	select CPU_ARM1136
466
467config ARCH_BCM283X
468	bool "Broadcom BCM283X family"
469	select DM
470	select DM_SERIAL
471	select DM_GPIO
472	select OF_CONTROL
473
474config TARGET_VEXPRESS_CA15_TC2
475	bool "Support vexpress_ca15_tc2"
476	select CPU_V7
477	select CPU_V7_HAS_NONSEC
478	select CPU_V7_HAS_VIRT
479
480config TARGET_VEXPRESS_CA5X2
481	bool "Support vexpress_ca5x2"
482	select CPU_V7
483
484config TARGET_VEXPRESS_CA9X4
485	bool "Support vexpress_ca9x4"
486	select CPU_V7
487
488config TARGET_BCM23550_W1D
489	bool "Support bcm23550_w1d"
490	select CPU_V7
491
492config TARGET_BCM28155_AP
493	bool "Support bcm28155_ap"
494	select CPU_V7
495
496config TARGET_BCMCYGNUS
497	bool "Support bcmcygnus"
498	select CPU_V7
499
500config TARGET_BCMNSP
501	bool "Support bcmnsp"
502	select CPU_V7
503
504config TARGET_BCMNS2
505	bool "Support Broadcom Northstar2"
506	select ARM64
507	help
508	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
509	  ARMv8 Cortex-A57 processors targeting a broad range of networking
510	  applications
511
512config ARCH_EXYNOS
513	bool "Samsung EXYNOS"
514	select DM
515	select DM_I2C
516	select DM_SPI_FLASH
517	select DM_SERIAL
518	select DM_SPI
519	select DM_GPIO
520	select DM_KEYBOARD
521
522config ARCH_S5PC1XX
523	bool "Samsung S5PC1XX"
524	select CPU_V7
525	select DM
526	select DM_SERIAL
527	select DM_GPIO
528	select DM_I2C
529
530config ARCH_HIGHBANK
531	bool "Calxeda Highbank"
532	select CPU_V7
533
534config ARCH_INTEGRATOR
535	bool "ARM Ltd. Integrator family"
536	select DM
537	select DM_SERIAL
538
539config ARCH_KEYSTONE
540	bool "TI Keystone"
541	select CPU_V7
542	select SUPPORT_SPL
543	select SYS_THUMB_BUILD
544	select CMD_POWEROFF
545	imply FIT
546
547config ARCH_OMAP2PLUS
548	bool "TI OMAP2+"
549	select CPU_V7
550	select SUPPORT_SPL
551	imply FIT
552
553config ARCH_MESON
554	bool "Amlogic Meson"
555	help
556	  Support for the Meson SoC family developed by Amlogic Inc.,
557	  targeted at media players and tablet computers. We currently
558	  support the S905 (GXBaby) 64-bit SoC.
559
560config ARCH_MX7ULP
561        bool "NXP MX7ULP"
562        select CPU_V7
563	select ROM_UNIFIED_SECTIONS
564
565config ARCH_MX7
566	bool "Freescale MX7"
567	select CPU_V7
568	select SYS_FSL_HAS_SEC if SECURE_BOOT
569	select SYS_FSL_SEC_COMPAT_4
570	select SYS_FSL_SEC_LE
571	select BOARD_EARLY_INIT_F
572	select ARCH_MISC_INIT
573
574config ARCH_MX6
575	bool "Freescale MX6"
576	select CPU_V7
577	select SYS_FSL_HAS_SEC if SECURE_BOOT
578	select SYS_FSL_SEC_COMPAT_4
579	select SYS_FSL_SEC_LE
580	select SYS_THUMB_BUILD if SPL
581
582config ARCH_MX5
583	bool "Freescale MX5"
584	select CPU_V7
585	select BOARD_EARLY_INIT_F
586
587config ARCH_RMOBILE
588	bool "Renesas ARM SoCs"
589	select DM
590	select DM_SERIAL
591	select BOARD_EARLY_INIT_F
592	imply SYS_THUMB_BUILD
593
594config TARGET_S32V234EVB
595	bool "Support s32v234evb"
596	select ARM64
597	select SYS_FSL_ERRATUM_ESDHC111
598
599config ARCH_SNAPDRAGON
600	bool "Qualcomm Snapdragon SoCs"
601	select ARM64
602	select DM
603	select DM_GPIO
604	select DM_SERIAL
605	select SPMI
606	select OF_CONTROL
607	select OF_SEPARATE
608
609config ARCH_SOCFPGA
610	bool "Altera SOCFPGA family"
611	select CPU_V7
612	select SUPPORT_SPL
613	select OF_CONTROL
614	select SPL_OF_CONTROL
615	select DM
616	select DM_SPI_FLASH
617	select DM_SPI
618	select ENABLE_ARM_SOC_BOOT0_HOOK
619	select ARCH_EARLY_INIT_R
620	select ARCH_MISC_INIT
621	select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
622	select SYS_THUMB_BUILD
623
624config ARCH_SUNXI
625	bool "Support sunxi (Allwinner) SoCs"
626	select CMD_GPIO
627	select CMD_MMC if MMC
628	select CMD_USB if DISTRO_DEFAULTS
629	select DM
630	select DM_ETH
631	select DM_GPIO
632	select DM_KEYBOARD
633	select DM_SERIAL
634	select DM_USB if DISTRO_DEFAULTS
635	select OF_BOARD_SETUP
636	select OF_CONTROL
637	select OF_SEPARATE
638	select SPL_STACK_R if SUPPORT_SPL
639	select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
640	select SYS_NS16550
641	select SPL_SYS_THUMB_BUILD if !ARM64
642	select USB if DISTRO_DEFAULTS
643	select USB_STORAGE if DISTRO_DEFAULTS
644	select USB_KEYBOARD if DISTRO_DEFAULTS
645	select USE_TINY_PRINTF
646
647config TARGET_TS4600
648	bool "Support TS4600"
649	select CPU_ARM926EJS
650	select SUPPORT_SPL
651
652config ARCH_VF610
653	bool "Freescale Vybrid"
654	select CPU_V7
655	select SYS_FSL_ERRATUM_ESDHC111
656
657config ARCH_ZYNQ
658	bool "Xilinx Zynq Platform"
659	select BOARD_LATE_INIT
660	select CPU_V7
661	select SUPPORT_SPL
662	select OF_CONTROL
663	select SPL_OF_CONTROL if SPL
664	select DM
665	select DM_ETH
666	select DM_GPIO
667	select SPL_DM if SPL
668	select DM_MMC
669	select DM_MMC_OPS
670	select DM_SPI
671	select DM_SERIAL
672	select DM_SPI_FLASH
673	select SPL_SEPARATE_BSS if SPL
674	select DM_USB if USB
675	select BLK
676	select CLK
677	select SPL_CLK
678	select CLK_ZYNQ
679	imply CMD_CLK
680
681config ARCH_ZYNQMP
682	bool "Support Xilinx ZynqMP Platform"
683	select ARM64
684	select BOARD_LATE_INIT
685	select DM
686	select OF_CONTROL
687	select DM_SERIAL
688	select SUPPORT_SPL
689	select CLK
690	select SPL_CLK
691	select DM_USB if USB
692
693config TEGRA
694	bool "NVIDIA Tegra"
695
696config TARGET_VEXPRESS64_AEMV8A
697	bool "Support vexpress_aemv8a"
698	select ARM64
699
700config TARGET_VEXPRESS64_BASE_FVP
701	bool "Support Versatile Express ARMv8a FVP BASE model"
702	select ARM64
703	select SEMIHOSTING
704
705config TARGET_VEXPRESS64_BASE_FVP_DRAM
706	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
707	select ARM64
708	help
709	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
710	  the default config to allow the user to load the images directly into
711	  DRAM using model parameters rather than by using semi-hosting to load
712	  the files from the host filesystem.
713
714config TARGET_VEXPRESS64_JUNO
715	bool "Support Versatile Express Juno Development Platform"
716	select ARM64
717
718config TARGET_LS2080A_EMU
719	bool "Support ls2080a_emu"
720	select ARCH_LS2080A
721	select ARM64
722	select ARMV8_MULTIENTRY
723	select ARCH_MISC_INIT
724	help
725	  Support for Freescale LS2080A_EMU platform
726	  The LS2080A Development System (EMULATOR) is a pre silicon
727	  development platform that supports the QorIQ LS2080A
728	  Layerscape Architecture processor.
729
730config TARGET_LS2080A_SIMU
731	bool "Support ls2080a_simu"
732	select ARCH_LS2080A
733	select ARM64
734	select ARMV8_MULTIENTRY
735	select ARCH_MISC_INIT
736	help
737	  Support for Freescale LS2080A_SIMU platform
738	  The LS2080A Development System (QDS) is a pre silicon
739	  development platform that supports the QorIQ LS2080A
740	  Layerscape Architecture processor.
741
742config TARGET_LS2080AQDS
743	bool "Support ls2080aqds"
744	select ARCH_LS2080A
745	select ARM64
746	select ARMV8_MULTIENTRY
747	select BOARD_LATE_INIT
748	select SUPPORT_SPL
749	select ARCH_MISC_INIT
750	help
751	  Support for Freescale LS2080AQDS platform
752	  The LS2080A Development System (QDS) is a high-performance
753	  development platform that supports the QorIQ LS2080A
754	  Layerscape Architecture processor.
755
756config TARGET_LS2080ARDB
757	bool "Support ls2080ardb"
758	select ARCH_LS2080A
759	select ARM64
760	select ARMV8_MULTIENTRY
761	select BOARD_LATE_INIT
762	select SUPPORT_SPL
763	select ARCH_MISC_INIT
764	help
765	  Support for Freescale LS2080ARDB platform.
766	  The LS2080A Reference design board (RDB) is a high-performance
767	  development platform that supports the QorIQ LS2080A
768	  Layerscape Architecture processor.
769
770config TARGET_HIKEY
771	bool "Support HiKey 96boards Consumer Edition Platform"
772	select ARM64
773	select DM
774	select DM_GPIO
775	select DM_SERIAL
776	select OF_CONTROL
777	  help
778	  Support for HiKey 96boards platform. It features a HI6220
779	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
780
781config TARGET_LS1012AQDS
782	bool "Support ls1012aqds"
783	select ARCH_LS1012A
784	select ARM64
785	select BOARD_LATE_INIT
786	help
787	  Support for Freescale LS1012AQDS platform.
788	  The LS1012A Development System (QDS) is a high-performance
789	  development platform that supports the QorIQ LS1012A
790	  Layerscape Architecture processor.
791
792config TARGET_LS1012ARDB
793	bool "Support ls1012ardb"
794	select ARCH_LS1012A
795	select ARM64
796	select BOARD_LATE_INIT
797	help
798	  Support for Freescale LS1012ARDB platform.
799	  The LS1012A Reference design board (RDB) is a high-performance
800	  development platform that supports the QorIQ LS1012A
801	  Layerscape Architecture processor.
802
803config TARGET_LS1012AFRDM
804	bool "Support ls1012afrdm"
805	select ARCH_LS1012A
806	select ARM64
807	help
808	  Support for Freescale LS1012AFRDM platform.
809	  The LS1012A Freedom  board (FRDM) is a high-performance
810	  development platform that supports the QorIQ LS1012A
811	  Layerscape Architecture processor.
812
813config TARGET_LS1021AQDS
814	bool "Support ls1021aqds"
815	select BOARD_LATE_INIT
816	select CPU_V7
817	select CPU_V7_HAS_NONSEC
818	select CPU_V7_HAS_VIRT
819	select SUPPORT_SPL
820	select ARCH_LS1021A
821	select ARCH_SUPPORT_PSCI
822	select LS1_DEEP_SLEEP
823	select SYS_FSL_DDR
824	select BOARD_EARLY_INIT_F
825
826config TARGET_LS1021ATWR
827	bool "Support ls1021atwr"
828	select BOARD_LATE_INIT
829	select CPU_V7
830	select CPU_V7_HAS_NONSEC
831	select CPU_V7_HAS_VIRT
832	select SUPPORT_SPL
833	select ARCH_LS1021A
834	select ARCH_SUPPORT_PSCI
835	select LS1_DEEP_SLEEP
836	select BOARD_EARLY_INIT_F
837
838config TARGET_LS1021AIOT
839	bool "Support ls1021aiot"
840	select BOARD_LATE_INIT
841	select CPU_V7
842	select CPU_V7_HAS_NONSEC
843	select CPU_V7_HAS_VIRT
844	select SUPPORT_SPL
845	select ARCH_LS1021A
846	select ARCH_SUPPORT_PSCI
847	help
848	  Support for Freescale LS1021AIOT platform.
849	  The LS1021A Freescale board (IOT) is a high-performance
850	  development platform that supports the QorIQ LS1021A
851	  Layerscape Architecture processor.
852
853config TARGET_LS1043AQDS
854	bool "Support ls1043aqds"
855	select ARCH_LS1043A
856	select ARM64
857	select ARMV8_MULTIENTRY
858	select BOARD_LATE_INIT
859	select SUPPORT_SPL
860	select BOARD_EARLY_INIT_F
861	help
862	  Support for Freescale LS1043AQDS platform.
863
864config TARGET_LS1043ARDB
865	bool "Support ls1043ardb"
866	select ARCH_LS1043A
867	select ARM64
868	select ARMV8_MULTIENTRY
869	select BOARD_LATE_INIT
870	select SUPPORT_SPL
871	select BOARD_EARLY_INIT_F
872	help
873	  Support for Freescale LS1043ARDB platform.
874
875config TARGET_LS1046AQDS
876	bool "Support ls1046aqds"
877	select ARCH_LS1046A
878	select ARM64
879	select ARMV8_MULTIENTRY
880	select BOARD_LATE_INIT
881	select SUPPORT_SPL
882	select DM_SPI_FLASH if DM_SPI
883	select BOARD_EARLY_INIT_F
884	help
885	  Support for Freescale LS1046AQDS platform.
886	  The LS1046A Development System (QDS) is a high-performance
887	  development platform that supports the QorIQ LS1046A
888	  Layerscape Architecture processor.
889
890config TARGET_LS1046ARDB
891	bool "Support ls1046ardb"
892	select ARCH_LS1046A
893	select ARM64
894	select ARMV8_MULTIENTRY
895	select BOARD_LATE_INIT
896	select SUPPORT_SPL
897	select DM_SPI_FLASH if DM_SPI
898	select POWER_MC34VR500
899	select BOARD_EARLY_INIT_F
900	help
901	  Support for Freescale LS1046ARDB platform.
902	  The LS1046A Reference Design Board (RDB) is a high-performance
903	  development platform that supports the QorIQ LS1046A
904	  Layerscape Architecture processor.
905
906config TARGET_H2200
907	bool "Support h2200"
908	select CPU_PXA
909
910config TARGET_ZIPITZ2
911	bool "Support zipitz2"
912	select CPU_PXA
913
914config TARGET_COLIBRI_PXA270
915	bool "Support colibri_pxa270"
916	select CPU_PXA
917
918config ARCH_UNIPHIER
919	bool "Socionext UniPhier SoCs"
920	select BOARD_LATE_INIT
921	select CLK_UNIPHIER
922	select DM
923	select DM_GPIO
924	select DM_I2C
925	select DM_MMC
926	select DM_RESET
927	select DM_SERIAL
928	select DM_USB
929	select OF_CONTROL
930	select OF_LIBFDT
931	select PINCTRL
932	select SPL_DM if SPL
933	select SPL_LIBCOMMON_SUPPORT if SPL
934	select SPL_LIBGENERIC_SUPPORT if SPL
935	select SPL_OF_CONTROL if SPL
936	select SPL_PINCTRL if SPL
937	select SUPPORT_SPL
938	help
939	  Support for UniPhier SoC family developed by Socionext Inc.
940	  (formerly, System LSI Business Division of Panasonic Corporation)
941
942config STM32
943	bool "Support STM32"
944	select CPU_V7M
945	select DM
946	select DM_SERIAL
947	select SYS_THUMB_BUILD
948
949config ARCH_STI
950	bool "Support STMicrolectronics SoCs"
951	select CPU_V7
952	select DM
953	select DM_SERIAL
954	select BLK
955	select DM_MMC
956	select DM_RESET
957	help
958	  Support for STMicroelectronics STiH407/10 SoC family.
959	  This SoC is used on Linaro 96Board STiH410-B2260
960
961config ARCH_ROCKCHIP
962	bool "Support Rockchip SoCs"
963	select OF_CONTROL
964	select BLK
965	select DM
966	select SPL_DM if SPL
967	select SYS_MALLOC_F
968	select SYS_THUMB_BUILD if !ARM64
969	select SPL_SYS_MALLOC_SIMPLE if SPL
970	select DM_GPIO
971	select DM_I2C
972	select DM_MMC
973	select DM_MMC_OPS
974	select DM_SERIAL
975	select DM_SPI
976	select DM_SPI_FLASH
977	select DM_USB if USB
978	select DM_PWM
979	select DM_REGULATOR
980
981config TARGET_THUNDERX_88XX
982	bool "Support ThunderX 88xx"
983	select ARM64
984	select OF_CONTROL
985	select SYS_CACHE_SHIFT_7
986
987config ARCH_ASPEED
988	bool "Support Aspeed SoCs"
989	select OF_CONTROL
990	select DM
991
992endchoice
993
994source "arch/arm/mach-aspeed/Kconfig"
995
996source "arch/arm/mach-at91/Kconfig"
997
998source "arch/arm/mach-bcm283x/Kconfig"
999
1000source "arch/arm/mach-davinci/Kconfig"
1001
1002source "arch/arm/mach-exynos/Kconfig"
1003
1004source "arch/arm/mach-highbank/Kconfig"
1005
1006source "arch/arm/mach-integrator/Kconfig"
1007
1008source "arch/arm/mach-keystone/Kconfig"
1009
1010source "arch/arm/mach-kirkwood/Kconfig"
1011
1012source "arch/arm/mach-mvebu/Kconfig"
1013
1014source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1015
1016source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1017
1018source "arch/arm/cpu/armv7/mx7/Kconfig"
1019
1020source "arch/arm/cpu/armv7/mx6/Kconfig"
1021
1022source "arch/arm/cpu/armv7/mx5/Kconfig"
1023
1024source "arch/arm/mach-omap2/Kconfig"
1025
1026source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1027
1028source "arch/arm/mach-orion5x/Kconfig"
1029
1030source "arch/arm/mach-rmobile/Kconfig"
1031
1032source "arch/arm/mach-meson/Kconfig"
1033
1034source "arch/arm/mach-rockchip/Kconfig"
1035
1036source "arch/arm/mach-s5pc1xx/Kconfig"
1037
1038source "arch/arm/mach-snapdragon/Kconfig"
1039
1040source "arch/arm/mach-socfpga/Kconfig"
1041
1042source "arch/arm/mach-sti/Kconfig"
1043
1044source "arch/arm/mach-stm32/Kconfig"
1045
1046source "arch/arm/mach-tegra/Kconfig"
1047
1048source "arch/arm/mach-uniphier/Kconfig"
1049
1050source "arch/arm/cpu/armv7/vf610/Kconfig"
1051
1052source "arch/arm/mach-zynq/Kconfig"
1053
1054source "arch/arm/cpu/armv7/Kconfig"
1055
1056source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1057
1058source "arch/arm/cpu/armv8/Kconfig"
1059
1060source "arch/arm/imx-common/Kconfig"
1061
1062source "board/aries/m28evk/Kconfig"
1063source "board/bosch/shc/Kconfig"
1064source "board/CarMediaLab/flea3/Kconfig"
1065source "board/Marvell/aspenite/Kconfig"
1066source "board/Marvell/gplugd/Kconfig"
1067source "board/armadeus/apf27/Kconfig"
1068source "board/armltd/vexpress/Kconfig"
1069source "board/armltd/vexpress64/Kconfig"
1070source "board/bluegiga/apx4devkit/Kconfig"
1071source "board/broadcom/bcm23550_w1d/Kconfig"
1072source "board/broadcom/bcm28155_ap/Kconfig"
1073source "board/broadcom/bcmcygnus/Kconfig"
1074source "board/broadcom/bcmnsp/Kconfig"
1075source "board/broadcom/bcmns2/Kconfig"
1076source "board/cavium/thunderx/Kconfig"
1077source "board/cirrus/edb93xx/Kconfig"
1078source "board/creative/xfi3/Kconfig"
1079source "board/freescale/ls2080a/Kconfig"
1080source "board/freescale/ls2080aqds/Kconfig"
1081source "board/freescale/ls2080ardb/Kconfig"
1082source "board/freescale/ls1021aqds/Kconfig"
1083source "board/freescale/ls1043aqds/Kconfig"
1084source "board/freescale/ls1021atwr/Kconfig"
1085source "board/freescale/ls1021aiot/Kconfig"
1086source "board/freescale/ls1046aqds/Kconfig"
1087source "board/freescale/ls1043ardb/Kconfig"
1088source "board/freescale/ls1046ardb/Kconfig"
1089source "board/freescale/ls1012aqds/Kconfig"
1090source "board/freescale/ls1012ardb/Kconfig"
1091source "board/freescale/ls1012afrdm/Kconfig"
1092source "board/freescale/mx23evk/Kconfig"
1093source "board/freescale/mx25pdk/Kconfig"
1094source "board/freescale/mx28evk/Kconfig"
1095source "board/freescale/mx31ads/Kconfig"
1096source "board/freescale/mx31pdk/Kconfig"
1097source "board/freescale/mx35pdk/Kconfig"
1098source "board/freescale/s32v234evb/Kconfig"
1099source "board/gdsys/a38x/Kconfig"
1100source "board/grinn/chiliboard/Kconfig"
1101source "board/gumstix/pepper/Kconfig"
1102source "board/h2200/Kconfig"
1103source "board/hisilicon/hikey/Kconfig"
1104source "board/imx31_phycore/Kconfig"
1105source "board/isee/igep0033/Kconfig"
1106source "board/olimex/mx23_olinuxino/Kconfig"
1107source "board/phytec/pcm051/Kconfig"
1108source "board/ppcag/bg0900/Kconfig"
1109source "board/sandisk/sansa_fuze_plus/Kconfig"
1110source "board/schulercontrol/sc_sps_1/Kconfig"
1111source "board/silica/pengwyn/Kconfig"
1112source "board/spear/spear300/Kconfig"
1113source "board/spear/spear310/Kconfig"
1114source "board/spear/spear320/Kconfig"
1115source "board/spear/spear600/Kconfig"
1116source "board/spear/x600/Kconfig"
1117source "board/st/stv0991/Kconfig"
1118source "board/sunxi/Kconfig"
1119source "board/syteco/zmx25/Kconfig"
1120source "board/tcl/sl50/Kconfig"
1121source "board/birdland/bav335x/Kconfig"
1122source "board/timll/devkit3250/Kconfig"
1123source "board/toradex/colibri_pxa270/Kconfig"
1124source "board/technologic/ts4600/Kconfig"
1125source "board/vscom/baltos/Kconfig"
1126source "board/woodburn/Kconfig"
1127source "board/work-microwave/work_92105/Kconfig"
1128source "board/zipitz2/Kconfig"
1129
1130source "arch/arm/Kconfig.debug"
1131
1132endmenu
1133