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