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