xref: /openbmc/u-boot/arch/arm/Kconfig (revision 15dc63d6)
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	imply CMD_SAVES
312	help
313	  Support for TI's DaVinci platform.
314
315config KIRKWOOD
316	bool "Marvell Kirkwood"
317	select CPU_ARM926EJS
318	select BOARD_EARLY_INIT_F
319	select ARCH_MISC_INIT
320
321config ARCH_MVEBU
322	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
323	select OF_CONTROL
324	select OF_SEPARATE
325	select DM
326	select DM_ETH
327	select DM_SERIAL
328	select DM_SPI
329	select DM_SPI_FLASH
330
331config TARGET_DEVKIT3250
332	bool "Support devkit3250"
333	select CPU_ARM926EJS
334	select SUPPORT_SPL
335
336config TARGET_WORK_92105
337	bool "Support work_92105"
338	select CPU_ARM926EJS
339	select SUPPORT_SPL
340
341config TARGET_MX25PDK
342	bool "Support mx25pdk"
343	select BOARD_LATE_INIT
344	select CPU_ARM926EJS
345	select BOARD_EARLY_INIT_F
346
347config TARGET_ZMX25
348	bool "Support zmx25"
349	select BOARD_LATE_INIT
350	select CPU_ARM926EJS
351
352config TARGET_APF27
353	bool "Support apf27"
354	select CPU_ARM926EJS
355	select SUPPORT_SPL
356
357config TARGET_APX4DEVKIT
358	bool "Support apx4devkit"
359	select CPU_ARM926EJS
360	select SUPPORT_SPL
361
362config TARGET_XFI3
363	bool "Support xfi3"
364	select CPU_ARM926EJS
365	select SUPPORT_SPL
366
367config TARGET_M28EVK
368	bool "Support m28evk"
369	select CPU_ARM926EJS
370	select SUPPORT_SPL
371
372config TARGET_MX23EVK
373	bool "Support mx23evk"
374	select CPU_ARM926EJS
375	select SUPPORT_SPL
376	select BOARD_EARLY_INIT_F
377
378config TARGET_MX28EVK
379	bool "Support mx28evk"
380	select CPU_ARM926EJS
381	select SUPPORT_SPL
382	select BOARD_EARLY_INIT_F
383
384config TARGET_MX23_OLINUXINO
385	bool "Support mx23_olinuxino"
386	select CPU_ARM926EJS
387	select SUPPORT_SPL
388	select BOARD_EARLY_INIT_F
389
390config TARGET_BG0900
391	bool "Support bg0900"
392	select CPU_ARM926EJS
393	select SUPPORT_SPL
394
395config TARGET_SANSA_FUZE_PLUS
396	bool "Support sansa_fuze_plus"
397	select CPU_ARM926EJS
398	select SUPPORT_SPL
399
400config TARGET_SC_SPS_1
401	bool "Support sc_sps_1"
402	select CPU_ARM926EJS
403	select SUPPORT_SPL
404
405config ORION5X
406	bool "Marvell Orion"
407	select CPU_ARM926EJS
408
409config TARGET_SPEAR300
410	bool "Support spear300"
411	select CPU_ARM926EJS
412	select BOARD_EARLY_INIT_F
413	imply CMD_SAVES
414
415config TARGET_SPEAR310
416	bool "Support spear310"
417	select CPU_ARM926EJS
418	select BOARD_EARLY_INIT_F
419	imply CMD_SAVES
420
421config TARGET_SPEAR320
422	bool "Support spear320"
423	select CPU_ARM926EJS
424	select BOARD_EARLY_INIT_F
425	imply CMD_SAVES
426
427config TARGET_SPEAR600
428	bool "Support spear600"
429	select CPU_ARM926EJS
430	select BOARD_EARLY_INIT_F
431	imply CMD_SAVES
432
433config TARGET_STV0991
434	bool "Support stv0991"
435	select CPU_V7
436	select DM
437	select DM_SERIAL
438	select DM_SPI
439	select DM_SPI_FLASH
440	select SPI_FLASH
441
442config TARGET_X600
443	bool "Support x600"
444	select BOARD_LATE_INIT
445	select CPU_ARM926EJS
446	select SUPPORT_SPL
447
448config TARGET_IMX31_PHYCORE
449	bool "Support imx31_phycore_eet"
450	select CPU_ARM1136
451	select BOARD_EARLY_INIT_F
452
453config TARGET_IMX31_PHYCORE_EET
454	bool "Support imx31_phycore_eet"
455	select BOARD_LATE_INIT
456	select CPU_ARM1136
457	select BOARD_EARLY_INIT_F
458
459config TARGET_MX31ADS
460	bool "Support mx31ads"
461	select CPU_ARM1136
462	select BOARD_EARLY_INIT_F
463
464config TARGET_MX31PDK
465	bool "Support mx31pdk"
466	select BOARD_LATE_INIT
467	select CPU_ARM1136
468	select SUPPORT_SPL
469	select BOARD_EARLY_INIT_F
470
471config TARGET_WOODBURN
472	bool "Support woodburn"
473	select CPU_ARM1136
474
475config TARGET_WOODBURN_SD
476	bool "Support woodburn_sd"
477	select CPU_ARM1136
478	select SUPPORT_SPL
479
480config TARGET_FLEA3
481	bool "Support flea3"
482	select CPU_ARM1136
483
484config TARGET_MX35PDK
485	bool "Support mx35pdk"
486	select BOARD_LATE_INIT
487	select CPU_ARM1136
488
489config ARCH_BCM283X
490	bool "Broadcom BCM283X family"
491	select DM
492	select DM_SERIAL
493	select DM_GPIO
494	select OF_CONTROL
495	imply FAT_WRITE
496	imply ENV_IS_IN_FAT
497
498config TARGET_VEXPRESS_CA15_TC2
499	bool "Support vexpress_ca15_tc2"
500	select CPU_V7
501	select CPU_V7_HAS_NONSEC
502	select CPU_V7_HAS_VIRT
503
504config TARGET_VEXPRESS_CA5X2
505	bool "Support vexpress_ca5x2"
506	select CPU_V7
507
508config TARGET_VEXPRESS_CA9X4
509	bool "Support vexpress_ca9x4"
510	select CPU_V7
511
512config TARGET_BCM23550_W1D
513	bool "Support bcm23550_w1d"
514	select CPU_V7
515	imply CRC32_VERIFY
516	imply FAT_WRITE
517
518config TARGET_BCM28155_AP
519	bool "Support bcm28155_ap"
520	select CPU_V7
521	imply CRC32_VERIFY
522	imply FAT_WRITE
523
524config TARGET_BCMCYGNUS
525	bool "Support bcmcygnus"
526	select CPU_V7
527	imply CRC32_VERIFY
528	imply CMD_HASH
529	imply FAT_WRITE
530	imply HASH_VERIFY
531	imply NETDEVICES
532	imply BCM_SF2_ETH
533	imply BCM_SF2_ETH_GMAC
534
535config TARGET_BCMNSP
536	bool "Support bcmnsp"
537	select CPU_V7
538
539config TARGET_BCMNS2
540	bool "Support Broadcom Northstar2"
541	select ARM64
542	help
543	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
544	  ARMv8 Cortex-A57 processors targeting a broad range of networking
545	  applications
546
547config ARCH_EXYNOS
548	bool "Samsung EXYNOS"
549	select DM
550	select DM_I2C
551	select DM_SPI_FLASH
552	select DM_SERIAL
553	select DM_SPI
554	select DM_GPIO
555	select DM_KEYBOARD
556	imply FAT_WRITE
557
558config ARCH_S5PC1XX
559	bool "Samsung S5PC1XX"
560	select CPU_V7
561	select DM
562	select DM_SERIAL
563	select DM_GPIO
564	select DM_I2C
565
566config ARCH_HIGHBANK
567	bool "Calxeda Highbank"
568	select CPU_V7
569
570config ARCH_INTEGRATOR
571	bool "ARM Ltd. Integrator family"
572	select DM
573	select DM_SERIAL
574
575config ARCH_KEYSTONE
576	bool "TI Keystone"
577	select CPU_V7
578	select SUPPORT_SPL
579	select SYS_THUMB_BUILD
580	select CMD_POWEROFF
581	imply CMD_MTDPARTS
582	imply FIT
583	imply CMD_SAVES
584
585config ARCH_OMAP2PLUS
586	bool "TI OMAP2+"
587	select CPU_V7
588	select SPL_BOARD_INIT if SPL
589	select SUPPORT_SPL
590	imply FIT
591
592config ARCH_MESON
593	bool "Amlogic Meson"
594	help
595	  Support for the Meson SoC family developed by Amlogic Inc.,
596	  targeted at media players and tablet computers. We currently
597	  support the S905 (GXBaby) 64-bit SoC.
598
599config ARCH_MX7ULP
600        bool "NXP MX7ULP"
601        select CPU_V7
602	select ROM_UNIFIED_SECTIONS
603
604config ARCH_MX7
605	bool "Freescale MX7"
606	select CPU_V7
607	select SYS_FSL_HAS_SEC if SECURE_BOOT
608	select SYS_FSL_SEC_COMPAT_4
609	select SYS_FSL_SEC_LE
610	select BOARD_EARLY_INIT_F
611	select ARCH_MISC_INIT
612
613config ARCH_MX6
614	bool "Freescale MX6"
615	select CPU_V7
616	select SYS_FSL_HAS_SEC if SECURE_BOOT
617	select SYS_FSL_SEC_COMPAT_4
618	select SYS_FSL_SEC_LE
619	select SYS_THUMB_BUILD if SPL
620
621config ARCH_MX5
622	bool "Freescale MX5"
623	select CPU_V7
624	select BOARD_EARLY_INIT_F
625
626config ARCH_RMOBILE
627	bool "Renesas ARM SoCs"
628	select DM
629	select DM_SERIAL
630	select BOARD_EARLY_INIT_F
631	imply FAT_WRITE
632	imply SYS_THUMB_BUILD
633
634config TARGET_S32V234EVB
635	bool "Support s32v234evb"
636	select ARM64
637	select SYS_FSL_ERRATUM_ESDHC111
638
639config ARCH_SNAPDRAGON
640	bool "Qualcomm Snapdragon SoCs"
641	select ARM64
642	select DM
643	select DM_GPIO
644	select DM_SERIAL
645	select SPMI
646	select OF_CONTROL
647	select OF_SEPARATE
648
649config ARCH_SOCFPGA
650	bool "Altera SOCFPGA family"
651	select CPU_V7
652	select SUPPORT_SPL
653	select OF_CONTROL
654	select SPL_OF_CONTROL
655	select DM
656	select DM_SPI_FLASH
657	select DM_SPI
658	select ENABLE_ARM_SOC_BOOT0_HOOK
659	select ARCH_EARLY_INIT_R
660	select ARCH_MISC_INIT
661	select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
662	select SYS_THUMB_BUILD
663	imply CMD_MTDPARTS
664	imply CRC32_VERIFY
665	imply FAT_WRITE
666
667config ARCH_SUNXI
668	bool "Support sunxi (Allwinner) SoCs"
669	select CMD_GPIO
670	select CMD_MMC if MMC
671	select CMD_USB if DISTRO_DEFAULTS
672	select DM
673	select DM_ETH
674	select DM_GPIO
675	select DM_KEYBOARD
676	select DM_SERIAL
677	select DM_USB if DISTRO_DEFAULTS
678	select OF_BOARD_SETUP
679	select OF_CONTROL
680	select OF_SEPARATE
681	select SPL_STACK_R if SPL
682	select SPL_SYS_MALLOC_SIMPLE if SPL
683	select SYS_NS16550
684	select SPL_SYS_THUMB_BUILD if !ARM64
685	select USB if DISTRO_DEFAULTS
686	select USB_STORAGE if DISTRO_DEFAULTS
687	select USB_KEYBOARD if DISTRO_DEFAULTS
688	select USE_TINY_PRINTF
689	imply FAT_WRITE
690	imply PRE_CONSOLE_BUFFER
691	imply SPL_GPIO_SUPPORT
692	imply SPL_LIBCOMMON_SUPPORT
693	imply SPL_LIBDISK_SUPPORT
694	imply SPL_LIBGENERIC_SUPPORT
695	imply SPL_MMC_SUPPORT if MMC
696	imply SPL_POWER_SUPPORT
697	imply SPL_SERIAL_SUPPORT
698
699config TARGET_TS4600
700	bool "Support TS4600"
701	select CPU_ARM926EJS
702	select SUPPORT_SPL
703
704config ARCH_VF610
705	bool "Freescale Vybrid"
706	select CPU_V7
707	select SYS_FSL_ERRATUM_ESDHC111
708	imply CMD_MTDPARTS
709
710config ARCH_ZYNQ
711	bool "Xilinx Zynq Platform"
712	select BOARD_LATE_INIT
713	select CPU_V7
714	select SUPPORT_SPL
715	select OF_CONTROL
716	select SPL_BOARD_INIT if SPL
717	select SPL_OF_CONTROL if SPL
718	select DM
719	select DM_ETH
720	select DM_GPIO
721	select SPL_DM if SPL
722	select DM_MMC
723	select DM_MMC_OPS
724	select DM_SPI
725	select DM_SERIAL
726	select DM_SPI_FLASH
727	select SPL_SEPARATE_BSS if SPL
728	select DM_USB if USB
729	select BLK
730	select CLK
731	select SPL_CLK
732	select CLK_ZYNQ
733	imply CMD_CLK
734	imply FAT_WRITE
735
736config ARCH_ZYNQMP
737	bool "Support Xilinx ZynqMP Platform"
738	select ARM64
739	select BOARD_LATE_INIT
740	select DM
741	select OF_CONTROL
742	select DM_SERIAL
743	select SUPPORT_SPL
744	select CLK
745	select SPL_BOARD_INIT if SPL
746	select SPL_CLK
747	select DM_USB if USB
748	imply FAT_WRITE
749
750config TEGRA
751	bool "NVIDIA Tegra"
752	imply FAT_WRITE
753
754config TARGET_VEXPRESS64_AEMV8A
755	bool "Support vexpress_aemv8a"
756	select ARM64
757
758config TARGET_VEXPRESS64_BASE_FVP
759	bool "Support Versatile Express ARMv8a FVP BASE model"
760	select ARM64
761	select SEMIHOSTING
762
763config TARGET_VEXPRESS64_BASE_FVP_DRAM
764	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
765	select ARM64
766	help
767	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
768	  the default config to allow the user to load the images directly into
769	  DRAM using model parameters rather than by using semi-hosting to load
770	  the files from the host filesystem.
771
772config TARGET_VEXPRESS64_JUNO
773	bool "Support Versatile Express Juno Development Platform"
774	select ARM64
775
776config TARGET_LS2080A_EMU
777	bool "Support ls2080a_emu"
778	select ARCH_LS2080A
779	select ARM64
780	select ARMV8_MULTIENTRY
781	select ARCH_MISC_INIT
782	help
783	  Support for Freescale LS2080A_EMU platform
784	  The LS2080A Development System (EMULATOR) is a pre silicon
785	  development platform that supports the QorIQ LS2080A
786	  Layerscape Architecture processor.
787
788config TARGET_LS2080A_SIMU
789	bool "Support ls2080a_simu"
790	select ARCH_LS2080A
791	select ARM64
792	select ARMV8_MULTIENTRY
793	select ARCH_MISC_INIT
794	help
795	  Support for Freescale LS2080A_SIMU platform
796	  The LS2080A Development System (QDS) is a pre silicon
797	  development platform that supports the QorIQ LS2080A
798	  Layerscape Architecture processor.
799
800config TARGET_LS2080AQDS
801	bool "Support ls2080aqds"
802	select ARCH_LS2080A
803	select ARM64
804	select ARMV8_MULTIENTRY
805	select BOARD_LATE_INIT
806	select SUPPORT_SPL
807	select ARCH_MISC_INIT
808	imply SCSI
809	help
810	  Support for Freescale LS2080AQDS platform
811	  The LS2080A Development System (QDS) is a high-performance
812	  development platform that supports the QorIQ LS2080A
813	  Layerscape Architecture processor.
814
815config TARGET_LS2080ARDB
816	bool "Support ls2080ardb"
817	select ARCH_LS2080A
818	select ARM64
819	select ARMV8_MULTIENTRY
820	select BOARD_LATE_INIT
821	select SUPPORT_SPL
822	select ARCH_MISC_INIT
823	imply SCSI
824	help
825	  Support for Freescale LS2080ARDB platform.
826	  The LS2080A Reference design board (RDB) is a high-performance
827	  development platform that supports the QorIQ LS2080A
828	  Layerscape Architecture processor.
829
830config TARGET_LS2081ARDB
831	bool "Support ls2081ardb"
832	select ARCH_LS2080A
833	select ARM64
834	select ARMV8_MULTIENTRY
835	select BOARD_LATE_INIT
836	select SUPPORT_SPL
837	select ARCH_MISC_INIT
838	help
839	  Support for Freescale LS2081ARDB platform.
840	  The LS2081A Reference design board (RDB) is a high-performance
841	  development platform that supports the QorIQ LS2081A/LS2041A
842	  Layerscape Architecture processor.
843
844config TARGET_HIKEY
845	bool "Support HiKey 96boards Consumer Edition Platform"
846	select ARM64
847	select DM
848	select DM_GPIO
849	select DM_SERIAL
850	select OF_CONTROL
851	  help
852	  Support for HiKey 96boards platform. It features a HI6220
853	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
854
855config TARGET_POPLAR
856	bool "Support Poplar 96boards Enterprise Edition Platform"
857	select ARM64
858	select DM
859	select OF_CONTROL
860	select DM_SERIAL
861	select DM_USB
862	  help
863	  Support for Poplar 96boards EE platform. It features a HI3798cv200
864	  SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
865	  making it capable of running any commercial set-top solution based on
866	  Linux or Android.
867
868config TARGET_LS1012AQDS
869	bool "Support ls1012aqds"
870	select ARCH_LS1012A
871	select ARM64
872	select BOARD_LATE_INIT
873	help
874	  Support for Freescale LS1012AQDS platform.
875	  The LS1012A Development System (QDS) is a high-performance
876	  development platform that supports the QorIQ LS1012A
877	  Layerscape Architecture processor.
878
879config TARGET_LS1012ARDB
880	bool "Support ls1012ardb"
881	select ARCH_LS1012A
882	select ARM64
883	select BOARD_LATE_INIT
884	imply SCSI
885	help
886	  Support for Freescale LS1012ARDB platform.
887	  The LS1012A Reference design board (RDB) is a high-performance
888	  development platform that supports the QorIQ LS1012A
889	  Layerscape Architecture processor.
890
891config TARGET_LS1012AFRDM
892	bool "Support ls1012afrdm"
893	select ARCH_LS1012A
894	select ARM64
895	help
896	  Support for Freescale LS1012AFRDM platform.
897	  The LS1012A Freedom  board (FRDM) is a high-performance
898	  development platform that supports the QorIQ LS1012A
899	  Layerscape Architecture processor.
900
901config TARGET_LS1021AQDS
902	bool "Support ls1021aqds"
903	select BOARD_LATE_INIT
904	select CPU_V7
905	select CPU_V7_HAS_NONSEC
906	select CPU_V7_HAS_VIRT
907	select SUPPORT_SPL
908	select ARCH_LS1021A
909	select ARCH_SUPPORT_PSCI
910	select LS1_DEEP_SLEEP
911	select SYS_FSL_DDR
912	select BOARD_EARLY_INIT_F
913	imply SCSI
914
915config TARGET_LS1021ATWR
916	bool "Support ls1021atwr"
917	select BOARD_LATE_INIT
918	select CPU_V7
919	select CPU_V7_HAS_NONSEC
920	select CPU_V7_HAS_VIRT
921	select SUPPORT_SPL
922	select ARCH_LS1021A
923	select ARCH_SUPPORT_PSCI
924	select LS1_DEEP_SLEEP
925	select BOARD_EARLY_INIT_F
926	imply SCSI
927
928config TARGET_LS1021AIOT
929	bool "Support ls1021aiot"
930	select BOARD_LATE_INIT
931	select CPU_V7
932	select CPU_V7_HAS_NONSEC
933	select CPU_V7_HAS_VIRT
934	select SUPPORT_SPL
935	select ARCH_LS1021A
936	select ARCH_SUPPORT_PSCI
937	imply SCSI
938	help
939	  Support for Freescale LS1021AIOT platform.
940	  The LS1021A Freescale board (IOT) is a high-performance
941	  development platform that supports the QorIQ LS1021A
942	  Layerscape Architecture processor.
943
944config TARGET_LS1043AQDS
945	bool "Support ls1043aqds"
946	select ARCH_LS1043A
947	select ARM64
948	select ARMV8_MULTIENTRY
949	select BOARD_LATE_INIT
950	select SUPPORT_SPL
951	select BOARD_EARLY_INIT_F
952	imply SCSI
953	help
954	  Support for Freescale LS1043AQDS platform.
955
956config TARGET_LS1043ARDB
957	bool "Support ls1043ardb"
958	select ARCH_LS1043A
959	select ARM64
960	select ARMV8_MULTIENTRY
961	select BOARD_LATE_INIT
962	select SUPPORT_SPL
963	select BOARD_EARLY_INIT_F
964	imply SCSI
965	help
966	  Support for Freescale LS1043ARDB platform.
967
968config TARGET_LS1046AQDS
969	bool "Support ls1046aqds"
970	select ARCH_LS1046A
971	select ARM64
972	select ARMV8_MULTIENTRY
973	select BOARD_LATE_INIT
974	select SUPPORT_SPL
975	select DM_SPI_FLASH if DM_SPI
976	select BOARD_EARLY_INIT_F
977	imply SCSI
978	help
979	  Support for Freescale LS1046AQDS platform.
980	  The LS1046A Development System (QDS) is a high-performance
981	  development platform that supports the QorIQ LS1046A
982	  Layerscape Architecture processor.
983
984config TARGET_LS1046ARDB
985	bool "Support ls1046ardb"
986	select ARCH_LS1046A
987	select ARM64
988	select ARMV8_MULTIENTRY
989	select BOARD_LATE_INIT
990	select SUPPORT_SPL
991	select DM_SPI_FLASH if DM_SPI
992	select POWER_MC34VR500
993	select BOARD_EARLY_INIT_F
994	imply SCSI
995	help
996	  Support for Freescale LS1046ARDB platform.
997	  The LS1046A Reference Design Board (RDB) is a high-performance
998	  development platform that supports the QorIQ LS1046A
999	  Layerscape Architecture processor.
1000
1001config TARGET_H2200
1002	bool "Support h2200"
1003	select CPU_PXA
1004
1005config TARGET_ZIPITZ2
1006	bool "Support zipitz2"
1007	select CPU_PXA
1008
1009config TARGET_COLIBRI_PXA270
1010	bool "Support colibri_pxa270"
1011	select CPU_PXA
1012
1013config ARCH_UNIPHIER
1014	bool "Socionext UniPhier SoCs"
1015	select BOARD_LATE_INIT
1016	select CLK_UNIPHIER
1017	select DM
1018	select DM_GPIO
1019	select DM_I2C
1020	select DM_MMC
1021	select DM_RESET
1022	select DM_SERIAL
1023	select DM_USB
1024	select OF_CONTROL
1025	select OF_LIBFDT
1026	select PINCTRL
1027	select SPL_BOARD_INIT if SPL
1028	select SPL_DM if SPL
1029	select SPL_LIBCOMMON_SUPPORT if SPL
1030	select SPL_LIBGENERIC_SUPPORT if SPL
1031	select SPL_OF_CONTROL if SPL
1032	select SPL_PINCTRL if SPL
1033	select SUPPORT_SPL
1034	imply FAT_WRITE
1035	imply ENV_IS_IN_MMC
1036	help
1037	  Support for UniPhier SoC family developed by Socionext Inc.
1038	  (formerly, System LSI Business Division of Panasonic Corporation)
1039
1040config STM32
1041	bool "Support STM32"
1042	select CPU_V7M
1043	select DM
1044	select DM_SERIAL
1045	select SYS_THUMB_BUILD
1046
1047config ARCH_STI
1048	bool "Support STMicrolectronics SoCs"
1049	select CPU_V7
1050	select DM
1051	select DM_SERIAL
1052	select BLK
1053	select DM_MMC
1054	select DM_RESET
1055	help
1056	  Support for STMicroelectronics STiH407/10 SoC family.
1057	  This SoC is used on Linaro 96Board STiH410-B2260
1058
1059config ARCH_ROCKCHIP
1060	bool "Support Rockchip SoCs"
1061	select OF_CONTROL
1062	select BLK
1063	select DM
1064	select SPL_DM if SPL
1065	select SYS_MALLOC_F
1066	select SYS_THUMB_BUILD if !ARM64
1067	select SPL_SYS_MALLOC_SIMPLE if SPL
1068	select DM_GPIO
1069	select DM_I2C
1070	select DM_MMC
1071	select DM_MMC_OPS
1072	select DM_SERIAL
1073	select DM_SPI
1074	select DM_SPI_FLASH
1075	select DM_USB if USB
1076	select DM_PWM
1077	select DM_REGULATOR
1078	imply FAT_WRITE
1079
1080config TARGET_THUNDERX_88XX
1081	bool "Support ThunderX 88xx"
1082	select ARM64
1083	select OF_CONTROL
1084	select SYS_CACHE_SHIFT_7
1085
1086config ARCH_ASPEED
1087	bool "Support Aspeed SoCs"
1088	select OF_CONTROL
1089	select DM
1090
1091endchoice
1092
1093source "arch/arm/mach-aspeed/Kconfig"
1094
1095source "arch/arm/mach-at91/Kconfig"
1096
1097source "arch/arm/mach-bcm283x/Kconfig"
1098
1099source "arch/arm/mach-davinci/Kconfig"
1100
1101source "arch/arm/mach-exynos/Kconfig"
1102
1103source "arch/arm/mach-highbank/Kconfig"
1104
1105source "arch/arm/mach-integrator/Kconfig"
1106
1107source "arch/arm/mach-keystone/Kconfig"
1108
1109source "arch/arm/mach-kirkwood/Kconfig"
1110
1111source "arch/arm/mach-mvebu/Kconfig"
1112
1113source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1114
1115source "arch/arm/mach-imx/mx7ulp/Kconfig"
1116
1117source "arch/arm/mach-imx/mx7/Kconfig"
1118
1119source "arch/arm/mach-imx/mx6/Kconfig"
1120
1121source "arch/arm/mach-imx/mx5/Kconfig"
1122
1123source "arch/arm/mach-omap2/Kconfig"
1124
1125source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1126
1127source "arch/arm/mach-orion5x/Kconfig"
1128
1129source "arch/arm/mach-rmobile/Kconfig"
1130
1131source "arch/arm/mach-meson/Kconfig"
1132
1133source "arch/arm/mach-rockchip/Kconfig"
1134
1135source "arch/arm/mach-s5pc1xx/Kconfig"
1136
1137source "arch/arm/mach-snapdragon/Kconfig"
1138
1139source "arch/arm/mach-socfpga/Kconfig"
1140
1141source "arch/arm/mach-sti/Kconfig"
1142
1143source "arch/arm/mach-stm32/Kconfig"
1144
1145source "arch/arm/mach-sunxi/Kconfig"
1146
1147source "arch/arm/mach-tegra/Kconfig"
1148
1149source "arch/arm/mach-uniphier/Kconfig"
1150
1151source "arch/arm/cpu/armv7/vf610/Kconfig"
1152
1153source "arch/arm/mach-zynq/Kconfig"
1154
1155source "arch/arm/cpu/armv7/Kconfig"
1156
1157source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1158
1159source "arch/arm/cpu/armv8/Kconfig"
1160
1161source "arch/arm/mach-imx/Kconfig"
1162
1163source "board/aries/m28evk/Kconfig"
1164source "board/bosch/shc/Kconfig"
1165source "board/CarMediaLab/flea3/Kconfig"
1166source "board/Marvell/aspenite/Kconfig"
1167source "board/Marvell/gplugd/Kconfig"
1168source "board/armadeus/apf27/Kconfig"
1169source "board/armltd/vexpress/Kconfig"
1170source "board/armltd/vexpress64/Kconfig"
1171source "board/bluegiga/apx4devkit/Kconfig"
1172source "board/broadcom/bcm23550_w1d/Kconfig"
1173source "board/broadcom/bcm28155_ap/Kconfig"
1174source "board/broadcom/bcmcygnus/Kconfig"
1175source "board/broadcom/bcmnsp/Kconfig"
1176source "board/broadcom/bcmns2/Kconfig"
1177source "board/cavium/thunderx/Kconfig"
1178source "board/cirrus/edb93xx/Kconfig"
1179source "board/creative/xfi3/Kconfig"
1180source "board/freescale/ls2080a/Kconfig"
1181source "board/freescale/ls2080aqds/Kconfig"
1182source "board/freescale/ls2080ardb/Kconfig"
1183source "board/freescale/ls1021aqds/Kconfig"
1184source "board/freescale/ls1043aqds/Kconfig"
1185source "board/freescale/ls1021atwr/Kconfig"
1186source "board/freescale/ls1021aiot/Kconfig"
1187source "board/freescale/ls1046aqds/Kconfig"
1188source "board/freescale/ls1043ardb/Kconfig"
1189source "board/freescale/ls1046ardb/Kconfig"
1190source "board/freescale/ls1012aqds/Kconfig"
1191source "board/freescale/ls1012ardb/Kconfig"
1192source "board/freescale/ls1012afrdm/Kconfig"
1193source "board/freescale/mx23evk/Kconfig"
1194source "board/freescale/mx25pdk/Kconfig"
1195source "board/freescale/mx28evk/Kconfig"
1196source "board/freescale/mx31ads/Kconfig"
1197source "board/freescale/mx31pdk/Kconfig"
1198source "board/freescale/mx35pdk/Kconfig"
1199source "board/freescale/s32v234evb/Kconfig"
1200source "board/gdsys/a38x/Kconfig"
1201source "board/grinn/chiliboard/Kconfig"
1202source "board/gumstix/pepper/Kconfig"
1203source "board/h2200/Kconfig"
1204source "board/hisilicon/hikey/Kconfig"
1205source "board/hisilicon/poplar/Kconfig"
1206source "board/imx31_phycore/Kconfig"
1207source "board/isee/igep003x/Kconfig"
1208source "board/olimex/mx23_olinuxino/Kconfig"
1209source "board/phytec/pcm051/Kconfig"
1210source "board/ppcag/bg0900/Kconfig"
1211source "board/sandisk/sansa_fuze_plus/Kconfig"
1212source "board/schulercontrol/sc_sps_1/Kconfig"
1213source "board/silica/pengwyn/Kconfig"
1214source "board/spear/spear300/Kconfig"
1215source "board/spear/spear310/Kconfig"
1216source "board/spear/spear320/Kconfig"
1217source "board/spear/spear600/Kconfig"
1218source "board/spear/x600/Kconfig"
1219source "board/st/stv0991/Kconfig"
1220source "board/syteco/zmx25/Kconfig"
1221source "board/tcl/sl50/Kconfig"
1222source "board/birdland/bav335x/Kconfig"
1223source "board/timll/devkit3250/Kconfig"
1224source "board/toradex/colibri_pxa270/Kconfig"
1225source "board/technologic/ts4600/Kconfig"
1226source "board/vscom/baltos/Kconfig"
1227source "board/woodburn/Kconfig"
1228source "board/work-microwave/work_92105/Kconfig"
1229source "board/zipitz2/Kconfig"
1230
1231source "arch/arm/Kconfig.debug"
1232
1233endmenu
1234