xref: /openbmc/u-boot/arch/arm/Kconfig (revision 2f831bb6)
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
12if ARM64
13config POSITION_INDEPENDENT
14	bool "Generate position-independent pre-relocation code"
15	help
16	  U-Boot expects to be linked to a specific hard-coded address, and to
17	  be loaded to and run from that address. This option lifts that
18	  restriction, thus allowing the code to be loaded to and executed
19	  from almost any address. This logic relies on the relocation
20	  information that is embedded into the binary to support U-Boot
21	  relocating itself to the top-of-RAM later during execution.
22
23config SYS_INIT_SP_BSS_OFFSET
24	int
25	help
26	  U-Boot typically uses a hard-coded value for the stack pointer
27	  before relocation. Define this option to instead calculate the
28	  initial SP at run-time. This is useful to avoid hard-coding addresses
29	  into U-Boot, so that can be loaded and executed at arbitrary
30	  addresses and thus avoid using arbitrary addresses at runtime. This
31	  option's value is the offset added to &_bss_start in order to
32	  calculate the stack pointer. This offset should be large enough so
33	  that the early malloc region, global data (gd), and early stack usage
34	  do not overlap any appended DTB.
35
36config LINUX_KERNEL_IMAGE_HEADER
37	bool
38	help
39	  Place a Linux kernel image header at the start of the U-Boot binary.
40	  The format of the header is described in the Linux kernel source at
41	  Documentation/arm64/booting.txt. This feature is useful since the
42	  image header reports the amount of memory (BSS and similar) that
43	  U-Boot needs to use, but which isn't part of the binary.
44
45if LINUX_KERNEL_IMAGE_HEADER
46config LNX_KRNL_IMG_TEXT_OFFSET_BASE
47	hex
48	help
49	  The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
50	  TEXT_OFFSET value written in to the Linux kernel image header.
51endif
52endif
53
54config STATIC_RELA
55	bool
56	default y if ARM64 && !POSITION_INDEPENDENT
57
58config DMA_ADDR_T_64BIT
59	bool
60	default y if ARM64
61
62config HAS_VBAR
63	bool
64
65config HAS_THUMB2
66	bool
67
68config SYS_ICACHE_OFF
69	bool "Do not enable icache"
70	default n
71	help
72	  Do not enable instruction cache in U-Boot
73
74config SYS_DCACHE_OFF
75	bool "Do not enable dcache"
76	default n
77	help
78	  Do not enable data cache in U-Boot
79
80# Used for compatibility with asm files copied from the kernel
81config ARM_ASM_UNIFIED
82	bool
83	default y
84
85# Used for compatibility with asm files copied from the kernel
86config THUMB2_KERNEL
87	bool
88
89config SYS_ARM_CACHE_CP15
90	bool "CP15 based cache enabling support"
91	help
92	  Select this if your processor suports enabling caches by using
93	  CP15 registers.
94
95config SYS_ARM_MMU
96	bool "MMU-based Paged Memory Management Support"
97	select SYS_ARM_CACHE_CP15
98	help
99	  Select if you want MMU-based virtualised addressing space
100	  support by paged memory management.
101
102config SYS_ARM_MPU
103	bool 'Use the ARM v7 PMSA Compliant MPU'
104	help
105	  Some ARM systems without an MMU have instead a Memory Protection
106	  Unit (MPU) that defines the type and permissions for regions of
107	  memory.
108	  If your CPU has an MPU then you should choose 'y' here unless you
109	  know that you do not want to use the MPU.
110
111# If set, the workarounds for these ARM errata are applied early during U-Boot
112# startup. Note that in general these options force the workarounds to be
113# applied; no CPU-type/version detection exists, unlike the similar options in
114# the Linux kernel. Do not set these options unless they apply!  Also note that
115# the following can be machine specific errata. These do have ability to
116# provide rudimentary version and machine specific checks, but expect no
117# product checks:
118# CONFIG_ARM_ERRATA_430973
119# CONFIG_ARM_ERRATA_454179
120# CONFIG_ARM_ERRATA_621766
121# CONFIG_ARM_ERRATA_798870
122# CONFIG_ARM_ERRATA_801819
123# CONFIG_ARM_CORTEX_A8_CVE_2017_5715
124# CONFIG_ARM_CORTEX_A15_CVE_2017_5715
125
126config ARM_ERRATA_430973
127	bool
128
129config ARM_ERRATA_454179
130	bool
131
132config ARM_ERRATA_621766
133	bool
134
135config ARM_ERRATA_716044
136	bool
137
138config ARM_ERRATA_725233
139	bool
140
141config ARM_ERRATA_742230
142	bool
143
144config ARM_ERRATA_743622
145	bool
146
147config ARM_ERRATA_751472
148	bool
149
150config ARM_ERRATA_761320
151	bool
152
153config ARM_ERRATA_773022
154	bool
155
156config ARM_ERRATA_774769
157	bool
158
159config ARM_ERRATA_794072
160	bool
161
162config ARM_ERRATA_798870
163	bool
164
165config ARM_ERRATA_801819
166	bool
167
168config ARM_ERRATA_826974
169	bool
170
171config ARM_ERRATA_828024
172	bool
173
174config ARM_ERRATA_829520
175	bool
176
177config ARM_ERRATA_833069
178	bool
179
180config ARM_ERRATA_833471
181	bool
182
183config ARM_ERRATA_845369
184	bool
185
186config ARM_ERRATA_852421
187	bool
188
189config ARM_ERRATA_852423
190	bool
191
192config ARM_ERRATA_855873
193	bool
194
195config ARM_CORTEX_A8_CVE_2017_5715
196	bool
197
198config ARM_CORTEX_A15_CVE_2017_5715
199	bool
200
201config CPU_ARM720T
202	bool
203	select SYS_CACHE_SHIFT_5
204	imply SYS_ARM_MMU
205
206config CPU_ARM920T
207	bool
208	select SYS_CACHE_SHIFT_5
209	imply SYS_ARM_MMU
210
211config CPU_ARM926EJS
212	bool
213	select SYS_CACHE_SHIFT_5
214	imply SYS_ARM_MMU
215
216config CPU_ARM946ES
217	bool
218	select SYS_CACHE_SHIFT_5
219	imply SYS_ARM_MMU
220
221config CPU_ARM1136
222	bool
223	select SYS_CACHE_SHIFT_5
224	imply SYS_ARM_MMU
225
226config CPU_ARM1176
227	bool
228	select HAS_VBAR
229	select SYS_CACHE_SHIFT_5
230	imply SYS_ARM_MMU
231
232config CPU_V7A
233	bool
234	select HAS_THUMB2
235	select HAS_VBAR
236	select SYS_CACHE_SHIFT_6
237	imply SYS_ARM_MMU
238
239config CPU_V7M
240	bool
241	select HAS_THUMB2
242	select SYS_ARM_MPU
243	select SYS_CACHE_SHIFT_5
244	select SYS_THUMB_BUILD
245	select THUMB2_KERNEL
246
247config CPU_V7R
248	bool
249	select HAS_THUMB2
250	select SYS_ARM_CACHE_CP15
251	select SYS_ARM_MPU
252	select SYS_CACHE_SHIFT_6
253
254config CPU_PXA
255	bool
256	select SYS_CACHE_SHIFT_5
257	imply SYS_ARM_MMU
258
259config CPU_SA1100
260	bool
261	select SYS_CACHE_SHIFT_5
262	imply SYS_ARM_MMU
263
264config SYS_CPU
265	default "arm720t" if CPU_ARM720T
266	default "arm920t" if CPU_ARM920T
267	default "arm926ejs" if CPU_ARM926EJS
268	default "arm946es" if CPU_ARM946ES
269	default "arm1136" if CPU_ARM1136
270	default "arm1176" if CPU_ARM1176
271	default "armv7" if CPU_V7A
272	default "armv7" if CPU_V7R
273	default "armv7m" if CPU_V7M
274	default "pxa" if CPU_PXA
275	default "sa1100" if CPU_SA1100
276	default "armv8" if ARM64
277
278config SYS_ARM_ARCH
279	int
280	default 4 if CPU_ARM720T
281	default 4 if CPU_ARM920T
282	default 5 if CPU_ARM926EJS
283	default 5 if CPU_ARM946ES
284	default 6 if CPU_ARM1136
285	default 6 if CPU_ARM1176
286	default 7 if CPU_V7A
287	default 7 if CPU_V7M
288	default 7 if CPU_V7R
289	default 5 if CPU_PXA
290	default 4 if CPU_SA1100
291	default 8 if ARM64
292
293config SYS_CACHE_SHIFT_5
294	bool
295
296config SYS_CACHE_SHIFT_6
297	bool
298
299config SYS_CACHE_SHIFT_7
300	bool
301
302config SYS_CACHELINE_SIZE
303	int
304	default 128 if SYS_CACHE_SHIFT_7
305	default 64 if SYS_CACHE_SHIFT_6
306	default 32 if SYS_CACHE_SHIFT_5
307
308config SYS_ARCH_TIMER
309	bool "ARM Generic Timer support"
310	depends on CPU_V7A || ARM64
311	default y if ARM64
312	help
313	  The ARM Generic Timer (aka arch-timer) provides an architected
314	  interface to a timer source on an SoC.
315	  It is mandantory for ARMv8 implementation and widely available
316	  on ARMv7 systems.
317
318config ARM_SMCCC
319	bool "Support for ARM SMC Calling Convention (SMCCC)"
320	depends on CPU_V7A || ARM64
321	select ARM_PSCI_FW
322	help
323	  Say Y here if you want to enable ARM SMC Calling Convention.
324	  This should be enabled if U-Boot needs to communicate with system
325	  firmware (for example, PSCI) according to SMCCC.
326
327config SEMIHOSTING
328	bool "support boot from semihosting"
329	help
330	  In emulated environments, semihosting is a way for
331	  the hosted environment to call out to the emulator to
332	  retrieve files from the host machine.
333
334config SYS_THUMB_BUILD
335	bool "Build U-Boot using the Thumb instruction set"
336	depends on !ARM64
337	help
338	   Use this flag to build U-Boot using the Thumb instruction set for
339	   ARM architectures. Thumb instruction set provides better code
340	   density. For ARM architectures that support Thumb2 this flag will
341	   result in Thumb2 code generated by GCC.
342
343config SPL_SYS_THUMB_BUILD
344	bool "Build SPL using the Thumb instruction set"
345	default y if SYS_THUMB_BUILD
346	depends on !ARM64
347	help
348	   Use this flag to build SPL using the Thumb instruction set for
349	   ARM architectures. Thumb instruction set provides better code
350	   density. For ARM architectures that support Thumb2 this flag will
351	   result in Thumb2 code generated by GCC.
352
353config SYS_L2CACHE_OFF
354	bool "L2cache off"
355	help
356	  If SoC does not support L2CACHE or one do not want to enable
357	  L2CACHE, choose this option.
358
359config ENABLE_ARM_SOC_BOOT0_HOOK
360	bool "prepare BOOT0 header"
361	help
362	  If the SoC's BOOT0 requires a header area filled with (magic)
363	  values, then choose this option, and create a file included as
364	  <asm/arch/boot0.h> which contains the required assembler code.
365
366config ARM_CORTEX_CPU_IS_UP
367	bool
368	default n
369
370config USE_ARCH_MEMCPY
371	bool "Use an assembly optimized implementation of memcpy"
372	default y
373	depends on !ARM64
374	help
375	  Enable the generation of an optimized version of memcpy.
376	  Such implementation may be faster under some conditions
377	  but may increase the binary size.
378
379config SPL_USE_ARCH_MEMCPY
380	bool "Use an assembly optimized implementation of memcpy for SPL"
381	default y if USE_ARCH_MEMCPY
382	depends on !ARM64
383	help
384	  Enable the generation of an optimized version of memcpy.
385	  Such implementation may be faster under some conditions
386	  but may increase the binary size.
387
388config USE_ARCH_MEMSET
389	bool "Use an assembly optimized implementation of memset"
390	default y
391	depends on !ARM64
392	help
393	  Enable the generation of an optimized version of memset.
394	  Such implementation may be faster under some conditions
395	  but may increase the binary size.
396
397config SPL_USE_ARCH_MEMSET
398	bool "Use an assembly optimized implementation of memset for SPL"
399	default y if USE_ARCH_MEMSET
400	depends on !ARM64
401	help
402	  Enable the generation of an optimized version of memset.
403	  Such implementation may be faster under some conditions
404	  but may increase the binary size.
405
406config ARM64_SUPPORT_AARCH32
407	bool "ARM64 system support AArch32 execution state"
408	default y if ARM64 && !TARGET_THUNDERX_88XX
409	help
410	  This ARM64 system supports AArch32 execution state.
411
412choice
413	prompt "Target select"
414	default TARGET_HIKEY
415
416config ARCH_AT91
417	bool "Atmel AT91"
418	select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
419
420config TARGET_EDB93XX
421	bool "Support edb93xx"
422	select CPU_ARM920T
423	select PL010_SERIAL
424
425config TARGET_ASPENITE
426	bool "Support aspenite"
427	select CPU_ARM926EJS
428
429config TARGET_GPLUGD
430	bool "Support gplugd"
431	select CPU_ARM926EJS
432
433config ARCH_DAVINCI
434	bool "TI DaVinci"
435	select CPU_ARM926EJS
436	imply CMD_SAVES
437	help
438	  Support for TI's DaVinci platform.
439
440config KIRKWOOD
441	bool "Marvell Kirkwood"
442	select ARCH_MISC_INIT
443	select BOARD_EARLY_INIT_F
444	select CPU_ARM926EJS
445
446config ARCH_MVEBU
447	bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
448	select DM
449	select DM_ETH
450	select DM_SERIAL
451	select DM_SPI
452	select DM_SPI_FLASH
453	select OF_CONTROL
454	select OF_SEPARATE
455	select SPI
456	imply CMD_DM
457
458config TARGET_APF27
459	bool "Support apf27"
460	select CPU_ARM926EJS
461	select SUPPORT_SPL
462
463config ORION5X
464	bool "Marvell Orion"
465	select CPU_ARM926EJS
466
467config TARGET_SPEAR300
468	bool "Support spear300"
469	select BOARD_EARLY_INIT_F
470	select CPU_ARM926EJS
471	select PL011_SERIAL
472	imply CMD_SAVES
473
474config TARGET_SPEAR310
475	bool "Support spear310"
476	select BOARD_EARLY_INIT_F
477	select CPU_ARM926EJS
478	select PL011_SERIAL
479	imply CMD_SAVES
480
481config TARGET_SPEAR320
482	bool "Support spear320"
483	select BOARD_EARLY_INIT_F
484	select CPU_ARM926EJS
485	select PL011_SERIAL
486	imply CMD_SAVES
487
488config TARGET_SPEAR600
489	bool "Support spear600"
490	select BOARD_EARLY_INIT_F
491	select CPU_ARM926EJS
492	select PL011_SERIAL
493	imply CMD_SAVES
494
495config TARGET_STV0991
496	bool "Support stv0991"
497	select CPU_V7A
498	select DM
499	select DM_SERIAL
500	select DM_SPI
501	select DM_SPI_FLASH
502	select PL01X_SERIAL
503	select SPI
504	select SPI_FLASH
505	imply CMD_DM
506
507config TARGET_X600
508	bool "Support x600"
509	select BOARD_LATE_INIT
510	select CPU_ARM926EJS
511	select PL011_SERIAL
512	select SUPPORT_SPL
513
514config TARGET_WOODBURN
515	bool "Support woodburn"
516	select CPU_ARM1136
517
518config TARGET_WOODBURN_SD
519	bool "Support woodburn_sd"
520	select CPU_ARM1136
521	select SUPPORT_SPL
522
523config TARGET_FLEA3
524	bool "Support flea3"
525	select CPU_ARM1136
526
527config TARGET_MX35PDK
528	bool "Support mx35pdk"
529	select BOARD_LATE_INIT
530	select CPU_ARM1136
531
532config ARCH_BCM283X
533	bool "Broadcom BCM283X family"
534	select DM
535	select DM_GPIO
536	select DM_SERIAL
537	select OF_CONTROL
538	select PL01X_SERIAL
539	select SERIAL_SEARCH_ALL
540	imply CMD_DM
541	imply FAT_WRITE
542
543config ARCH_BCM63158
544	bool "Broadcom BCM63158 family"
545	select DM
546	select OF_CONTROL
547	imply CMD_DM
548
549config ARCH_BCM6858
550	bool "Broadcom BCM6858 family"
551	select DM
552	select OF_CONTROL
553	imply CMD_DM
554
555config TARGET_VEXPRESS_CA15_TC2
556	bool "Support vexpress_ca15_tc2"
557	select CPU_V7A
558	select CPU_V7_HAS_NONSEC
559	select CPU_V7_HAS_VIRT
560	select PL011_SERIAL
561
562config ARCH_BCMSTB
563	bool "Broadcom BCM7XXX family"
564	select CPU_V7A
565	select DM
566	select OF_CONTROL
567	select OF_PRIOR_STAGE
568	imply CMD_DM
569	help
570	  This enables support for Broadcom ARM-based set-top box
571	  chipsets, including the 7445 family of chips.
572
573config TARGET_VEXPRESS_CA5X2
574	bool "Support vexpress_ca5x2"
575	select CPU_V7A
576	select PL011_SERIAL
577
578config TARGET_VEXPRESS_CA9X4
579	bool "Support vexpress_ca9x4"
580	select CPU_V7A
581	select PL011_SERIAL
582
583config TARGET_BCM23550_W1D
584	bool "Support bcm23550_w1d"
585	select CPU_V7A
586	imply CRC32_VERIFY
587	imply FAT_WRITE
588
589config TARGET_BCM28155_AP
590	bool "Support bcm28155_ap"
591	select CPU_V7A
592	imply CRC32_VERIFY
593	imply FAT_WRITE
594
595config TARGET_BCMCYGNUS
596	bool "Support bcmcygnus"
597	select CPU_V7A
598	imply BCM_SF2_ETH
599	imply BCM_SF2_ETH_GMAC
600	imply CMD_HASH
601	imply CRC32_VERIFY
602	imply FAT_WRITE
603	imply HASH_VERIFY
604	imply NETDEVICES
605
606config TARGET_BCMNSP
607	bool "Support bcmnsp"
608	select CPU_V7A
609
610config TARGET_BCMNS2
611	bool "Support Broadcom Northstar2"
612	select ARM64
613	help
614	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
615	  ARMv8 Cortex-A57 processors targeting a broad range of networking
616	  applications
617
618config ARCH_EXYNOS
619	bool "Samsung EXYNOS"
620	select DM
621	select DM_GPIO
622	select DM_I2C
623	select DM_KEYBOARD
624	select DM_SERIAL
625	select DM_SPI
626	select DM_SPI_FLASH
627	select SPI
628	imply SYS_THUMB_BUILD
629	imply CMD_DM
630	imply FAT_WRITE
631
632config ARCH_S5PC1XX
633	bool "Samsung S5PC1XX"
634	select CPU_V7A
635	select DM
636	select DM_GPIO
637	select DM_I2C
638	select DM_SERIAL
639	imply CMD_DM
640
641config ARCH_HIGHBANK
642	bool "Calxeda Highbank"
643	select CPU_V7A
644	select PL011_SERIAL
645
646config ARCH_INTEGRATOR
647	bool "ARM Ltd. Integrator family"
648	select DM
649	select DM_SERIAL
650	select PL01X_SERIAL
651	imply CMD_DM
652
653config ARCH_KEYSTONE
654	bool "TI Keystone"
655	select CMD_POWEROFF
656	select CPU_V7A
657	select SUPPORT_SPL
658	select SYS_ARCH_TIMER
659	select SYS_THUMB_BUILD
660	imply CMD_MTDPARTS
661	imply CMD_SAVES
662	imply FIT
663
664config ARCH_K3
665	bool "Texas Instruments' K3 Architecture"
666	select SPL
667	select SUPPORT_SPL
668	select FIT
669
670config ARCH_OMAP2PLUS
671	bool "TI OMAP2+"
672	select CPU_V7A
673	select SPL_BOARD_INIT if SPL
674	select SPL_STACK_R if SPL
675	select SUPPORT_SPL
676	imply FIT
677
678config ARCH_MESON
679	bool "Amlogic Meson"
680	imply DISTRO_DEFAULTS
681	help
682	  Support for the Meson SoC family developed by Amlogic Inc.,
683	  targeted at media players and tablet computers. We currently
684	  support the S905 (GXBaby) 64-bit SoC.
685
686config ARCH_MEDIATEK
687	bool "MediaTek SoCs"
688	select BINMAN
689	select DM
690	select OF_CONTROL
691	select SPL_DM if SPL
692	select SPL_LIBCOMMON_SUPPORT if SPL
693	select SPL_LIBGENERIC_SUPPORT if SPL
694	select SPL_OF_CONTROL if SPL
695	select SUPPORT_SPL
696	help
697	  Support for the MediaTek SoCs family developed by MediaTek Inc.
698	  Please refer to doc/README.mediatek for more information.
699
700config ARCH_LPC32XX
701	bool "NXP LPC32xx platform"
702	select CPU_ARM926EJS
703	select DM
704	select DM_GPIO
705	select DM_SERIAL
706	select SPL_DM if SPL
707	select SUPPORT_SPL
708	imply CMD_DM
709
710config ARCH_IMX8
711	bool "NXP i.MX8 platform"
712	select ARM64
713	select DM
714	select OF_CONTROL
715
716config ARCH_IMX8M
717	bool "NXP i.MX8M platform"
718	select ARM64
719	select DM
720	select SUPPORT_SPL
721	imply CMD_DM
722
723config ARCH_MX23
724	bool "NXP i.MX23 family"
725	select CPU_ARM926EJS
726	select PL011_SERIAL
727	select SUPPORT_SPL
728
729config ARCH_MX25
730	bool "NXP MX25"
731	select CPU_ARM926EJS
732	imply MXC_GPIO
733
734config ARCH_MX28
735	bool "NXP i.MX28 family"
736	select CPU_ARM926EJS
737	select PL011_SERIAL
738	select SUPPORT_SPL
739
740config ARCH_MX31
741	bool "NXP i.MX31 family"
742	select CPU_ARM1136
743
744config ARCH_MX7ULP
745	bool "NXP MX7ULP"
746	select CPU_V7A
747	select ROM_UNIFIED_SECTIONS
748	imply MXC_GPIO
749
750config ARCH_MX7
751	bool "Freescale MX7"
752	select ARCH_MISC_INIT
753	select BOARD_EARLY_INIT_F
754	select CPU_V7A
755	select SYS_FSL_HAS_SEC if SECURE_BOOT
756	select SYS_FSL_SEC_COMPAT_4
757	select SYS_FSL_SEC_LE
758	imply MXC_GPIO
759
760config ARCH_MX6
761	bool "Freescale MX6"
762	select CPU_V7A
763	select SYS_FSL_HAS_SEC if SECURE_BOOT
764	select SYS_FSL_SEC_COMPAT_4
765	select SYS_FSL_SEC_LE
766	select SYS_THUMB_BUILD if SPL
767	imply MXC_GPIO
768
769if ARCH_MX6
770config SPL_LDSCRIPT
771	default "arch/arm/mach-omap2/u-boot-spl.lds"
772endif
773
774config ARCH_MX5
775	bool "Freescale MX5"
776	select BOARD_EARLY_INIT_F
777	select CPU_V7A
778	imply MXC_GPIO
779
780config ARCH_OWL
781	bool "Actions Semi OWL SoCs"
782	select ARM64
783	select DM
784	select DM_SERIAL
785	select OF_CONTROL
786	imply CMD_DM
787
788config ARCH_QEMU
789	bool "QEMU Virtual Platform"
790	select DM
791	select DM_SERIAL
792	select OF_CONTROL
793	select PL01X_SERIAL
794	imply CMD_DM
795	imply DM_RTC
796	imply RTC_PL031
797
798config ARCH_RMOBILE
799	bool "Renesas ARM SoCs"
800	select BOARD_EARLY_INIT_F
801	select DM
802	select DM_SERIAL
803	imply CMD_DM
804	imply FAT_WRITE
805	imply SYS_THUMB_BUILD
806	imply ARCH_MISC_INIT if DISPLAY_CPUINFO
807
808config TARGET_S32V234EVB
809	bool "Support s32v234evb"
810	select ARM64
811	select SYS_FSL_ERRATUM_ESDHC111
812
813config ARCH_SNAPDRAGON
814	bool "Qualcomm Snapdragon SoCs"
815	select ARM64
816	select DM
817	select DM_GPIO
818	select DM_SERIAL
819	select MSM_SMEM
820	select OF_CONTROL
821	select OF_SEPARATE
822	select SMEM
823	select SPMI
824	imply CMD_DM
825
826config ARCH_SOCFPGA
827	bool "Altera SOCFPGA family"
828	select ARCH_EARLY_INIT_R
829	select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
830	select ARM64 if TARGET_SOCFPGA_STRATIX10
831	select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
832	select DM
833	select DM_SERIAL
834	select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
835	select OF_CONTROL
836	select SPL_DM_RESET if DM_RESET
837	select SPL_DM_SERIAL
838	select SPL_LIBCOMMON_SUPPORT
839	select SPL_LIBGENERIC_SUPPORT
840	select SPL_NAND_SUPPORT if SPL_NAND_DENALI
841	select SPL_OF_CONTROL
842	select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
843	select SPL_SERIAL_SUPPORT
844	select SPL_WATCHDOG_SUPPORT
845	select SUPPORT_SPL
846	select SYS_NS16550
847	select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
848	imply CMD_DM
849	imply CMD_MTDPARTS
850	imply CRC32_VERIFY
851	imply DM_SPI
852	imply DM_SPI_FLASH
853	imply FAT_WRITE
854	imply SPL_LIBDISK_SUPPORT
855	imply SPL_MMC_SUPPORT
856	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
857	imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
858	imply SPL_SPI_FLASH_SUPPORT
859	imply SPL_SPI_SUPPORT
860
861config ARCH_SUNXI
862	bool "Support sunxi (Allwinner) SoCs"
863	select BINMAN
864	select CMD_GPIO
865	select CMD_MMC if MMC
866	select CMD_USB if DISTRO_DEFAULTS
867	select CLK
868	select DM
869	select DM_ETH
870	select DM_GPIO
871	select DM_KEYBOARD
872	select DM_SERIAL
873	select DM_USB if DISTRO_DEFAULTS
874	select OF_BOARD_SETUP
875	select OF_CONTROL
876	select OF_SEPARATE
877	select SPECIFY_CONSOLE_INDEX
878	select SPL_STACK_R if SPL
879	select SPL_SYS_MALLOC_SIMPLE if SPL
880	select SPL_SYS_THUMB_BUILD if !ARM64
881	select SYS_NS16550
882	select SYS_THUMB_BUILD if !ARM64
883	select USB if DISTRO_DEFAULTS
884	select USB_KEYBOARD if DISTRO_DEFAULTS
885	select USB_STORAGE if DISTRO_DEFAULTS
886	select USE_TINY_PRINTF
887	imply CMD_DM
888	imply CMD_GPT
889	imply CMD_UBI if NAND
890	imply DISTRO_DEFAULTS
891	imply FAT_WRITE
892	imply FIT
893	imply OF_LIBFDT_OVERLAY
894	imply PRE_CONSOLE_BUFFER
895	imply SPL_GPIO_SUPPORT
896	imply SPL_LIBCOMMON_SUPPORT
897	imply SPL_LIBGENERIC_SUPPORT
898	imply SPL_MMC_SUPPORT if MMC
899	imply SPL_POWER_SUPPORT
900	imply SPL_SERIAL_SUPPORT
901	imply USB_GADGET
902
903config ARCH_VERSAL
904	bool "Support Xilinx Versal Platform"
905	select ARM64
906	select CLK
907	select DM
908	select DM_ETH if NET
909	select DM_MMC if MMC
910	select DM_SERIAL
911	select OF_CONTROL
912
913config ARCH_VF610
914	bool "Freescale Vybrid"
915	select CPU_V7A
916	select SYS_FSL_ERRATUM_ESDHC111
917	imply CMD_MTDPARTS
918	imply NAND
919
920config ARCH_ZYNQ
921	bool "Xilinx Zynq based platform"
922	select BOARD_EARLY_INIT_F if WDT
923	select CLK
924	select CLK_ZYNQ
925	select CPU_V7A
926	select DM
927	select DM_ETH if NET
928	select DM_MMC if MMC
929	select DM_SERIAL
930	select DM_SPI
931	select DM_SPI_FLASH
932	select DM_USB if USB
933	select OF_CONTROL
934	select SPI
935	select SPL_BOARD_INIT if SPL
936	select SPL_CLK if SPL
937	select SPL_DM if SPL
938	select SPL_OF_CONTROL if SPL
939	select SPL_SEPARATE_BSS if SPL
940	select SUPPORT_SPL
941	imply ARCH_EARLY_INIT_R
942	imply BOARD_LATE_INIT
943	imply CMD_CLK
944	imply CMD_DM
945	imply CMD_SPL
946	imply FAT_WRITE
947
948config ARCH_ZYNQMP_R5
949	bool "Xilinx ZynqMP R5 based platform"
950	select CLK
951	select CPU_V7R
952	select DM
953	select DM_ETH if NET
954	select DM_MMC if MMC
955	select DM_SERIAL
956	select OF_CONTROL
957	imply CMD_DM
958	imply DM_USB_GADGET
959
960config ARCH_ZYNQMP
961	bool "Xilinx ZynqMP based platform"
962	select ARM64
963	select CLK
964	select DM
965	select DM_ETH if NET
966	select DM_MMC if MMC
967	select DM_SERIAL
968	select DM_SPI if SPI
969	select DM_SPI_FLASH if DM_SPI
970	select DM_USB if USB
971	select OF_CONTROL
972	select SPL_BOARD_INIT if SPL
973	select SPL_CLK if SPL
974	select SPL_SEPARATE_BSS if SPL
975	select SUPPORT_SPL
976	imply BOARD_LATE_INIT
977	imply CMD_DM
978	imply FAT_WRITE
979	imply MP
980	imply DM_USB_GADGET
981
982config TEGRA
983	bool "NVIDIA Tegra"
984	imply DISTRO_DEFAULTS
985	imply FAT_WRITE
986
987config TARGET_VEXPRESS64_AEMV8A
988	bool "Support vexpress_aemv8a"
989	select ARM64
990	select PL01X_SERIAL
991
992config TARGET_VEXPRESS64_BASE_FVP
993	bool "Support Versatile Express ARMv8a FVP BASE model"
994	select ARM64
995	select PL01X_SERIAL
996	select SEMIHOSTING
997
998config TARGET_VEXPRESS64_BASE_FVP_DRAM
999	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
1000	select ARM64
1001	select PL01X_SERIAL
1002	help
1003	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
1004	  the default config to allow the user to load the images directly into
1005	  DRAM using model parameters rather than by using semi-hosting to load
1006	  the files from the host filesystem.
1007
1008config TARGET_VEXPRESS64_JUNO
1009	bool "Support Versatile Express Juno Development Platform"
1010	select ARM64
1011	select PL01X_SERIAL
1012
1013config TARGET_LS2080A_EMU
1014	bool "Support ls2080a_emu"
1015	select ARCH_LS2080A
1016	select ARCH_MISC_INIT
1017	select ARM64
1018	select ARMV8_MULTIENTRY
1019	select FSL_DDR_SYNC_REFRESH
1020	help
1021	  Support for Freescale LS2080A_EMU platform
1022	  The LS2080A Development System (EMULATOR) is a pre silicon
1023	  development platform that supports the QorIQ LS2080A
1024	  Layerscape Architecture processor.
1025
1026config TARGET_LS2080A_SIMU
1027	bool "Support ls2080a_simu"
1028	select ARCH_LS2080A
1029	select ARCH_MISC_INIT
1030	select ARM64
1031	select ARMV8_MULTIENTRY
1032	help
1033	  Support for Freescale LS2080A_SIMU platform
1034	  The LS2080A Development System (QDS) is a pre silicon
1035	  development platform that supports the QorIQ LS2080A
1036	  Layerscape Architecture processor.
1037
1038config TARGET_LS1088AQDS
1039	bool "Support ls1088aqds"
1040	select ARCH_LS1088A
1041	select ARCH_MISC_INIT
1042	select ARM64
1043	select ARMV8_MULTIENTRY
1044	select BOARD_LATE_INIT
1045	select SUPPORT_SPL
1046	select FSL_DDR_INTERACTIVE if !SD_BOOT
1047	help
1048	  Support for NXP LS1088AQDS platform
1049	  The LS1088A Development System (QDS) is a high-performance
1050	  development platform that supports the QorIQ LS1088A
1051	  Layerscape Architecture processor.
1052
1053config TARGET_LS2080AQDS
1054	bool "Support ls2080aqds"
1055	select ARCH_LS2080A
1056	select ARCH_MISC_INIT
1057	select ARM64
1058	select ARMV8_MULTIENTRY
1059	select BOARD_LATE_INIT
1060	select SUPPORT_SPL
1061	imply SCSI
1062	imply SCSI_AHCI
1063	select FSL_DDR_BIST
1064	select FSL_DDR_INTERACTIVE if !SPL
1065	help
1066	  Support for Freescale LS2080AQDS platform
1067	  The LS2080A Development System (QDS) is a high-performance
1068	  development platform that supports the QorIQ LS2080A
1069	  Layerscape Architecture processor.
1070
1071config TARGET_LS2080ARDB
1072	bool "Support ls2080ardb"
1073	select ARCH_LS2080A
1074	select ARCH_MISC_INIT
1075	select ARM64
1076	select ARMV8_MULTIENTRY
1077	select BOARD_LATE_INIT
1078	select SUPPORT_SPL
1079	select FSL_DDR_BIST
1080	select FSL_DDR_INTERACTIVE if !SPL
1081	imply SCSI
1082	imply SCSI_AHCI
1083	help
1084	  Support for Freescale LS2080ARDB platform.
1085	  The LS2080A Reference design board (RDB) is a high-performance
1086	  development platform that supports the QorIQ LS2080A
1087	  Layerscape Architecture processor.
1088
1089config TARGET_LS2081ARDB
1090	bool "Support ls2081ardb"
1091	select ARCH_LS2080A
1092	select ARCH_MISC_INIT
1093	select ARM64
1094	select ARMV8_MULTIENTRY
1095	select BOARD_LATE_INIT
1096	select SUPPORT_SPL
1097	help
1098	  Support for Freescale LS2081ARDB platform.
1099	  The LS2081A Reference design board (RDB) is a high-performance
1100	  development platform that supports the QorIQ LS2081A/LS2041A
1101	  Layerscape Architecture processor.
1102
1103config TARGET_LX2160ARDB
1104	bool "Support lx2160ardb"
1105	select ARCH_LX2160A
1106	select ARCH_MISC_INIT
1107	select ARM64
1108	select ARMV8_MULTIENTRY
1109	select BOARD_LATE_INIT
1110	help
1111	  Support for NXP LX2160ARDB platform.
1112	  The lx2160ardb (LX2160A Reference design board (RDB)
1113	  is a high-performance development platform that supports the
1114	  QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1115
1116config TARGET_LX2160AQDS
1117	bool "Support lx2160aqds"
1118	select ARCH_LX2160A
1119	select ARCH_MISC_INIT
1120	select ARM64
1121	select ARMV8_MULTIENTRY
1122	select BOARD_LATE_INIT
1123	help
1124	  Support for NXP LX2160AQDS platform.
1125	  The lx2160aqds (LX2160A QorIQ Development System (QDS)
1126	  is a high-performance development platform that supports the
1127	  QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1128
1129config TARGET_HIKEY
1130	bool "Support HiKey 96boards Consumer Edition Platform"
1131	select ARM64
1132	select DM
1133	select DM_GPIO
1134	select DM_SERIAL
1135	select OF_CONTROL
1136	select PL01X_SERIAL
1137	select SPECIFY_CONSOLE_INDEX
1138	imply CMD_DM
1139	  help
1140	  Support for HiKey 96boards platform. It features a HI6220
1141	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1142
1143config TARGET_POPLAR
1144	bool "Support Poplar 96boards Enterprise Edition Platform"
1145	select ARM64
1146	select DM
1147	select DM_SERIAL
1148	select DM_USB
1149	select OF_CONTROL
1150	select PL01X_SERIAL
1151	imply CMD_DM
1152	  help
1153	  Support for Poplar 96boards EE platform. It features a HI3798cv200
1154	  SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1155	  making it capable of running any commercial set-top solution based on
1156	  Linux or Android.
1157
1158config TARGET_LS1012AQDS
1159	bool "Support ls1012aqds"
1160	select ARCH_LS1012A
1161	select ARM64
1162	select BOARD_LATE_INIT
1163	help
1164	  Support for Freescale LS1012AQDS platform.
1165	  The LS1012A Development System (QDS) is a high-performance
1166	  development platform that supports the QorIQ LS1012A
1167	  Layerscape Architecture processor.
1168
1169config TARGET_LS1012ARDB
1170	bool "Support ls1012ardb"
1171	select ARCH_LS1012A
1172	select ARM64
1173	select BOARD_LATE_INIT
1174	imply SCSI
1175	imply SCSI_AHCI
1176	help
1177	  Support for Freescale LS1012ARDB platform.
1178	  The LS1012A Reference design board (RDB) is a high-performance
1179	  development platform that supports the QorIQ LS1012A
1180	  Layerscape Architecture processor.
1181
1182config TARGET_LS1012A2G5RDB
1183	bool "Support ls1012a2g5rdb"
1184	select ARCH_LS1012A
1185	select ARM64
1186	select BOARD_LATE_INIT
1187	imply SCSI
1188	help
1189	  Support for Freescale LS1012A2G5RDB platform.
1190	  The LS1012A 2G5 Reference design board (RDB) is a high-performance
1191	  development platform that supports the QorIQ LS1012A
1192	  Layerscape Architecture processor.
1193
1194config TARGET_LS1012AFRWY
1195	bool "Support ls1012afrwy"
1196	select ARCH_LS1012A
1197	select ARM64
1198	select BOARD_LATE_INIT
1199	imply SCSI
1200	imply SCSI_AHCI
1201	help
1202	 Support for Freescale LS1012AFRWY platform.
1203	 The LS1012A FRWY board (FRWY) is a high-performance
1204	 development platform that supports the QorIQ LS1012A
1205	 Layerscape Architecture processor.
1206
1207config TARGET_LS1012AFRDM
1208	bool "Support ls1012afrdm"
1209	select ARCH_LS1012A
1210	select ARM64
1211	help
1212	  Support for Freescale LS1012AFRDM platform.
1213	  The LS1012A Freedom  board (FRDM) is a high-performance
1214	  development platform that supports the QorIQ LS1012A
1215	  Layerscape Architecture processor.
1216
1217config TARGET_LS1088ARDB
1218	bool "Support ls1088ardb"
1219	select ARCH_LS1088A
1220	select ARCH_MISC_INIT
1221	select ARM64
1222	select ARMV8_MULTIENTRY
1223	select BOARD_LATE_INIT
1224	select SUPPORT_SPL
1225	select FSL_DDR_INTERACTIVE if !SD_BOOT
1226	help
1227	  Support for NXP LS1088ARDB platform.
1228	  The LS1088A Reference design board (RDB) is a high-performance
1229	  development platform that supports the QorIQ LS1088A
1230	  Layerscape Architecture processor.
1231
1232config TARGET_LS1021AQDS
1233	bool "Support ls1021aqds"
1234	select ARCH_LS1021A
1235	select ARCH_SUPPORT_PSCI
1236	select BOARD_EARLY_INIT_F
1237	select BOARD_LATE_INIT
1238	select CPU_V7A
1239	select CPU_V7_HAS_NONSEC
1240	select CPU_V7_HAS_VIRT
1241	select LS1_DEEP_SLEEP
1242	select SUPPORT_SPL
1243	select SYS_FSL_DDR
1244	select FSL_DDR_INTERACTIVE
1245	imply SCSI
1246
1247config TARGET_LS1021ATWR
1248	bool "Support ls1021atwr"
1249	select ARCH_LS1021A
1250	select ARCH_SUPPORT_PSCI
1251	select BOARD_EARLY_INIT_F
1252	select BOARD_LATE_INIT
1253	select CPU_V7A
1254	select CPU_V7_HAS_NONSEC
1255	select CPU_V7_HAS_VIRT
1256	select LS1_DEEP_SLEEP
1257	select SUPPORT_SPL
1258	imply SCSI
1259
1260config TARGET_LS1021AIOT
1261	bool "Support ls1021aiot"
1262	select ARCH_LS1021A
1263	select ARCH_SUPPORT_PSCI
1264	select BOARD_LATE_INIT
1265	select CPU_V7A
1266	select CPU_V7_HAS_NONSEC
1267	select CPU_V7_HAS_VIRT
1268	select SUPPORT_SPL
1269	imply SCSI
1270	help
1271	  Support for Freescale LS1021AIOT platform.
1272	  The LS1021A Freescale board (IOT) is a high-performance
1273	  development platform that supports the QorIQ LS1021A
1274	  Layerscape Architecture processor.
1275
1276config TARGET_LS1043AQDS
1277	bool "Support ls1043aqds"
1278	select ARCH_LS1043A
1279	select ARM64
1280	select ARMV8_MULTIENTRY
1281	select BOARD_EARLY_INIT_F
1282	select BOARD_LATE_INIT
1283	select SUPPORT_SPL
1284	select FSL_DDR_INTERACTIVE if !SPL
1285	imply SCSI
1286	imply SCSI_AHCI
1287	help
1288	  Support for Freescale LS1043AQDS platform.
1289
1290config TARGET_LS1043ARDB
1291	bool "Support ls1043ardb"
1292	select ARCH_LS1043A
1293	select ARM64
1294	select ARMV8_MULTIENTRY
1295	select BOARD_EARLY_INIT_F
1296	select BOARD_LATE_INIT
1297	select SUPPORT_SPL
1298	help
1299	  Support for Freescale LS1043ARDB platform.
1300
1301config TARGET_LS1046AQDS
1302	bool "Support ls1046aqds"
1303	select ARCH_LS1046A
1304	select ARM64
1305	select ARMV8_MULTIENTRY
1306	select BOARD_EARLY_INIT_F
1307	select BOARD_LATE_INIT
1308	select DM_SPI_FLASH if DM_SPI
1309	select SUPPORT_SPL
1310	select FSL_DDR_BIST if !SPL
1311	select FSL_DDR_INTERACTIVE  if !SPL
1312	select FSL_DDR_INTERACTIVE if !SPL
1313	imply SCSI
1314	help
1315	  Support for Freescale LS1046AQDS platform.
1316	  The LS1046A Development System (QDS) is a high-performance
1317	  development platform that supports the QorIQ LS1046A
1318	  Layerscape Architecture processor.
1319
1320config TARGET_LS1046ARDB
1321	bool "Support ls1046ardb"
1322	select ARCH_LS1046A
1323	select ARM64
1324	select ARMV8_MULTIENTRY
1325	select BOARD_EARLY_INIT_F
1326	select BOARD_LATE_INIT
1327	select DM_SPI_FLASH if DM_SPI
1328	select POWER_MC34VR500
1329	select SUPPORT_SPL
1330	select FSL_DDR_BIST
1331	select FSL_DDR_INTERACTIVE if !SPL
1332	imply SCSI
1333	help
1334	  Support for Freescale LS1046ARDB platform.
1335	  The LS1046A Reference Design Board (RDB) is a high-performance
1336	  development platform that supports the QorIQ LS1046A
1337	  Layerscape Architecture processor.
1338
1339config TARGET_H2200
1340	bool "Support h2200"
1341	select CPU_PXA
1342
1343config TARGET_ZIPITZ2
1344	bool "Support zipitz2"
1345	select CPU_PXA
1346
1347config TARGET_COLIBRI_PXA270
1348	bool "Support colibri_pxa270"
1349	select CPU_PXA
1350
1351config ARCH_UNIPHIER
1352	bool "Socionext UniPhier SoCs"
1353	select BOARD_LATE_INIT
1354	select DM
1355	select DM_GPIO
1356	select DM_I2C
1357	select DM_MMC
1358	select DM_RESET
1359	select DM_SERIAL
1360	select DM_USB
1361	select OF_BOARD_SETUP
1362	select OF_CONTROL
1363	select OF_LIBFDT
1364	select PINCTRL
1365	select SPL_BOARD_INIT if SPL
1366	select SPL_DM if SPL
1367	select SPL_LIBCOMMON_SUPPORT if SPL
1368	select SPL_LIBGENERIC_SUPPORT if SPL
1369	select SPL_OF_CONTROL if SPL
1370	select SPL_PINCTRL if SPL
1371	select SUPPORT_SPL
1372	imply CMD_DM
1373	imply DISTRO_DEFAULTS
1374	imply FAT_WRITE
1375	help
1376	  Support for UniPhier SoC family developed by Socionext Inc.
1377	  (formerly, System LSI Business Division of Panasonic Corporation)
1378
1379config STM32
1380	bool "Support STMicroelectronics STM32 MCU with cortex M"
1381	select CPU_V7M
1382	select DM
1383	select DM_SERIAL
1384	imply CMD_DM
1385
1386config ARCH_STI
1387	bool "Support STMicrolectronics SoCs"
1388	select BLK
1389	select CPU_V7A
1390	select DM
1391	select DM_MMC
1392	select DM_RESET
1393	select DM_SERIAL
1394	imply CMD_DM
1395	help
1396	  Support for STMicroelectronics STiH407/10 SoC family.
1397	  This SoC is used on Linaro 96Board STiH410-B2260
1398
1399config ARCH_STM32MP
1400	bool "Support STMicroelectronics STM32MP Socs with cortex A"
1401	select ARCH_MISC_INIT
1402	select BOARD_LATE_INIT
1403	select CLK
1404	select DM
1405	select DM_GPIO
1406	select DM_RESET
1407	select DM_SERIAL
1408	select MISC
1409	select OF_CONTROL
1410	select OF_LIBFDT
1411	select PINCTRL
1412	select REGMAP
1413	select SUPPORT_SPL
1414	select SYSCON
1415	select SYSRESET
1416	select SYS_THUMB_BUILD
1417	imply CMD_DM
1418	help
1419	  Support for STM32MP SoC family developed by STMicroelectronics,
1420	  MPUs based on ARM cortex A core
1421	  U-BOOT is running in DDR and SPL support is the unsecure First Stage
1422	  BootLoader (FSBL)
1423
1424config ARCH_ROCKCHIP
1425	bool "Support Rockchip SoCs"
1426	select BLK
1427	select DM
1428	select DM_GPIO
1429	select DM_I2C
1430	select DM_MMC
1431	select DM_PWM
1432	select DM_REGULATOR
1433	select DM_SERIAL
1434	select DM_SPI
1435	select DM_SPI_FLASH
1436	select DM_USB if USB
1437	select ENABLE_ARM_SOC_BOOT0_HOOK
1438	select OF_CONTROL
1439	select SPI
1440	select SPL_DM if SPL
1441	select SPL_SYS_MALLOC_SIMPLE if SPL
1442	select SYS_MALLOC_F
1443	select SYS_THUMB_BUILD if !ARM64
1444	imply ADC
1445	imply CMD_DM
1446	imply DISTRO_DEFAULTS
1447	imply FAT_WRITE
1448	imply SARADC_ROCKCHIP
1449	imply SPL_SYSRESET
1450	imply SYS_NS16550
1451	imply TPL_SYSRESET
1452	imply USB_FUNCTION_FASTBOOT
1453
1454config TARGET_THUNDERX_88XX
1455	bool "Support ThunderX 88xx"
1456	select ARM64
1457	select OF_CONTROL
1458	select PL01X_SERIAL
1459	select SYS_CACHE_SHIFT_7
1460
1461config ARCH_ASPEED
1462	bool "Support Aspeed SoCs"
1463	select DM
1464	select DM_RESET
1465	select OF_CONTROL
1466	imply CMD_DM
1467
1468endchoice
1469
1470config TI_SECURE_DEVICE
1471	bool "HS Device Type Support"
1472	depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1473	help
1474	  If a high secure (HS) device type is being used, this config
1475	  must be set. This option impacts various aspects of the
1476	  build system (to create signed boot images that can be
1477	  authenticated) and the code. See the doc/README.ti-secure
1478	  file for further details.
1479
1480source "arch/arm/mach-aspeed/Kconfig"
1481
1482source "arch/arm/mach-at91/Kconfig"
1483
1484source "arch/arm/mach-bcm283x/Kconfig"
1485
1486source "arch/arm/mach-bcmstb/Kconfig"
1487
1488source "arch/arm/mach-davinci/Kconfig"
1489
1490source "arch/arm/mach-exynos/Kconfig"
1491
1492source "arch/arm/mach-highbank/Kconfig"
1493
1494source "arch/arm/mach-integrator/Kconfig"
1495
1496source "arch/arm/mach-k3/Kconfig"
1497
1498source "arch/arm/mach-keystone/Kconfig"
1499
1500source "arch/arm/mach-kirkwood/Kconfig"
1501
1502source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
1503
1504source "arch/arm/mach-mvebu/Kconfig"
1505
1506source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1507
1508source "arch/arm/mach-imx/mx2/Kconfig"
1509
1510source "arch/arm/mach-imx/mx3/Kconfig"
1511
1512source "arch/arm/mach-imx/mx5/Kconfig"
1513
1514source "arch/arm/mach-imx/mx6/Kconfig"
1515
1516source "arch/arm/mach-imx/mx7/Kconfig"
1517
1518source "arch/arm/mach-imx/mx7ulp/Kconfig"
1519
1520source "arch/arm/mach-imx/imx8/Kconfig"
1521
1522source "arch/arm/mach-imx/imx8m/Kconfig"
1523
1524source "arch/arm/mach-imx/mxs/Kconfig"
1525
1526source "arch/arm/mach-omap2/Kconfig"
1527
1528source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1529
1530source "arch/arm/mach-orion5x/Kconfig"
1531
1532source "arch/arm/mach-owl/Kconfig"
1533
1534source "arch/arm/mach-rmobile/Kconfig"
1535
1536source "arch/arm/mach-meson/Kconfig"
1537
1538source "arch/arm/mach-mediatek/Kconfig"
1539
1540source "arch/arm/mach-qemu/Kconfig"
1541
1542source "arch/arm/mach-rockchip/Kconfig"
1543
1544source "arch/arm/mach-s5pc1xx/Kconfig"
1545
1546source "arch/arm/mach-snapdragon/Kconfig"
1547
1548source "arch/arm/mach-socfpga/Kconfig"
1549
1550source "arch/arm/mach-sti/Kconfig"
1551
1552source "arch/arm/mach-stm32/Kconfig"
1553
1554source "arch/arm/mach-stm32mp/Kconfig"
1555
1556source "arch/arm/mach-sunxi/Kconfig"
1557
1558source "arch/arm/mach-tegra/Kconfig"
1559
1560source "arch/arm/mach-uniphier/Kconfig"
1561
1562source "arch/arm/cpu/armv7/vf610/Kconfig"
1563
1564source "arch/arm/mach-zynq/Kconfig"
1565
1566source "arch/arm/mach-zynqmp/Kconfig"
1567
1568source "arch/arm/mach-versal/Kconfig"
1569
1570source "arch/arm/mach-zynqmp-r5/Kconfig"
1571
1572source "arch/arm/cpu/armv7/Kconfig"
1573
1574source "arch/arm/cpu/armv8/Kconfig"
1575
1576source "arch/arm/mach-imx/Kconfig"
1577
1578source "board/bosch/shc/Kconfig"
1579source "board/CarMediaLab/flea3/Kconfig"
1580source "board/Marvell/aspenite/Kconfig"
1581source "board/Marvell/gplugd/Kconfig"
1582source "board/armadeus/apf27/Kconfig"
1583source "board/armltd/vexpress/Kconfig"
1584source "board/armltd/vexpress64/Kconfig"
1585source "board/broadcom/bcm23550_w1d/Kconfig"
1586source "board/broadcom/bcm28155_ap/Kconfig"
1587source "board/broadcom/bcm963158/Kconfig"
1588source "board/broadcom/bcm968580xref/Kconfig"
1589source "board/broadcom/bcmcygnus/Kconfig"
1590source "board/broadcom/bcmnsp/Kconfig"
1591source "board/broadcom/bcmns2/Kconfig"
1592source "board/cavium/thunderx/Kconfig"
1593source "board/cirrus/edb93xx/Kconfig"
1594source "board/eets/pdu001/Kconfig"
1595source "board/emulation/qemu-arm/Kconfig"
1596source "board/freescale/ls2080a/Kconfig"
1597source "board/freescale/ls2080aqds/Kconfig"
1598source "board/freescale/ls2080ardb/Kconfig"
1599source "board/freescale/ls1088a/Kconfig"
1600source "board/freescale/ls1021aqds/Kconfig"
1601source "board/freescale/ls1043aqds/Kconfig"
1602source "board/freescale/ls1021atwr/Kconfig"
1603source "board/freescale/ls1021aiot/Kconfig"
1604source "board/freescale/ls1046aqds/Kconfig"
1605source "board/freescale/ls1043ardb/Kconfig"
1606source "board/freescale/ls1046ardb/Kconfig"
1607source "board/freescale/ls1012aqds/Kconfig"
1608source "board/freescale/ls1012ardb/Kconfig"
1609source "board/freescale/ls1012afrdm/Kconfig"
1610source "board/freescale/lx2160a/Kconfig"
1611source "board/freescale/mx35pdk/Kconfig"
1612source "board/freescale/s32v234evb/Kconfig"
1613source "board/grinn/chiliboard/Kconfig"
1614source "board/gumstix/pepper/Kconfig"
1615source "board/h2200/Kconfig"
1616source "board/hisilicon/hikey/Kconfig"
1617source "board/hisilicon/poplar/Kconfig"
1618source "board/isee/igep003x/Kconfig"
1619source "board/phytec/pcm051/Kconfig"
1620source "board/silica/pengwyn/Kconfig"
1621source "board/spear/spear300/Kconfig"
1622source "board/spear/spear310/Kconfig"
1623source "board/spear/spear320/Kconfig"
1624source "board/spear/spear600/Kconfig"
1625source "board/spear/x600/Kconfig"
1626source "board/st/stv0991/Kconfig"
1627source "board/tcl/sl50/Kconfig"
1628source "board/ucRobotics/bubblegum_96/Kconfig"
1629source "board/birdland/bav335x/Kconfig"
1630source "board/toradex/colibri_pxa270/Kconfig"
1631source "board/vscom/baltos/Kconfig"
1632source "board/woodburn/Kconfig"
1633source "board/xilinx/Kconfig"
1634source "board/xilinx/zynq/Kconfig"
1635source "board/xilinx/zynqmp/Kconfig"
1636source "board/zipitz2/Kconfig"
1637
1638source "arch/arm/Kconfig.debug"
1639
1640endmenu
1641
1642config SPL_LDSCRIPT
1643	default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1644	default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1645	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1646
1647
1648