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