Merge branch '2021-09-02-assorted-fixes' into next
[platform/kernel/u-boot.git] / arch / arm / Kconfig
1 menu "ARM architecture"
2         depends on ARM
3
4 config SYS_ARCH
5         default "arm"
6
7 config ARM64
8         bool
9         select PHYS_64BIT
10         select SYS_CACHE_SHIFT_6
11
12 if ARM64
13 config 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 from
19           almost any 4K aligned address. This logic relies on the relocation
20           information that is embedded in the binary to support U-Boot
21           relocating itself to the top-of-RAM later during execution.
22
23 config INIT_SP_RELATIVE
24         bool "Specify the early stack pointer relative to the .bss section"
25         default n if ARCH_QEMU
26         default y if POSITION_INDEPENDENT
27         help
28           U-Boot typically uses a hard-coded value for the stack pointer
29           before relocation. Enable this option to instead calculate the
30           initial SP at run-time. This is useful to avoid hard-coding addresses
31           into U-Boot, so that it can be loaded and executed at arbitrary
32           addresses and thus avoid using arbitrary addresses at runtime.
33
34           If this option is enabled, the early stack pointer is set to
35           &_bss_start with a offset value added. The offset is specified by
36           SYS_INIT_SP_BSS_OFFSET.
37
38 config SYS_INIT_SP_BSS_OFFSET
39         int "Early stack offset from the .bss base address"
40         depends on INIT_SP_RELATIVE
41         default 524288
42         help
43           This option's value is the offset added to &_bss_start in order to
44           calculate the stack pointer. This offset should be large enough so
45           that the early malloc region, global data (gd), and early stack usage
46           do not overlap any appended DTB.
47
48 config LINUX_KERNEL_IMAGE_HEADER
49         bool
50         help
51           Place a Linux kernel image header at the start of the U-Boot binary.
52           The format of the header is described in the Linux kernel source at
53           Documentation/arm64/booting.txt. This feature is useful since the
54           image header reports the amount of memory (BSS and similar) that
55           U-Boot needs to use, but which isn't part of the binary.
56
57 if LINUX_KERNEL_IMAGE_HEADER
58 config LNX_KRNL_IMG_TEXT_OFFSET_BASE
59         hex
60         help
61           The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
62           TEXT_OFFSET value written to the Linux kernel image header.
63 endif
64 endif
65
66 config GICV2
67         bool
68
69 config GICV3
70         bool
71
72 config GIC_V3_ITS
73         bool "ARM GICV3 ITS"
74         select REGMAP
75         select SYSCON
76         select IRQ
77         help
78           ARM GICV3 Interrupt translation service (ITS).
79           Basic support for programming locality specific peripheral
80           interrupts (LPI) configuration tables and enable LPI tables.
81           LPI configuration table can be used by u-boot or Linux.
82           ARM GICV3 has limitation, once the LPI table is enabled, LPI
83           configuration table can not be re-programmed, unless GICV3 reset.
84
85 config STATIC_RELA
86         bool
87         default y if ARM64
88
89 config DMA_ADDR_T_64BIT
90         bool
91         default y if ARM64
92
93 config HAS_VBAR
94         bool
95
96 config HAS_THUMB2
97         bool
98
99 config GPIO_EXTRA_HEADER
100         bool
101
102 # Used for compatibility with asm files copied from the kernel
103 config ARM_ASM_UNIFIED
104         bool
105         default y
106
107 # Used for compatibility with asm files copied from the kernel
108 config THUMB2_KERNEL
109         bool
110
111 config SYS_ICACHE_OFF
112         bool "Do not enable icache"
113         help
114           Do not enable instruction cache in U-Boot.
115
116 config SPL_SYS_ICACHE_OFF
117         bool "Do not enable icache in SPL"
118         depends on SPL
119         default SYS_ICACHE_OFF
120         help
121           Do not enable instruction cache in SPL.
122
123 config SYS_DCACHE_OFF
124         bool "Do not enable dcache"
125         help
126           Do not enable data cache in U-Boot.
127
128 config SPL_SYS_DCACHE_OFF
129         bool "Do not enable dcache in SPL"
130         depends on SPL
131         default SYS_DCACHE_OFF
132         help
133           Do not enable data cache in SPL.
134
135 config SYS_ARM_CACHE_CP15
136         bool "CP15 based cache enabling support"
137         help
138           Select this if your processor suports enabling caches by using
139           CP15 registers.
140
141 config SYS_ARM_MMU
142         bool "MMU-based Paged Memory Management Support"
143         select SYS_ARM_CACHE_CP15
144         help
145           Select if you want MMU-based virtualised addressing space
146           support via paged memory management.
147
148 config SYS_ARM_MPU
149         bool 'Use the ARM v7 PMSA Compliant MPU'
150         help
151           Some ARM systems without an MMU have instead a Memory Protection
152           Unit (MPU) that defines the type and permissions for regions of
153           memory.
154           If your CPU has an MPU then you should choose 'y' here unless you
155           know that you do not want to use the MPU.
156
157 # If set, the workarounds for these ARM errata are applied early during U-Boot
158 # startup. Note that in general these options force the workarounds to be
159 # applied; no CPU-type/version detection exists, unlike the similar options in
160 # the Linux kernel. Do not set these options unless they apply!  Also note that
161 # the following can be machine-specific errata. These do have ability to
162 # provide rudimentary version and machine-specific checks, but expect no
163 # product checks:
164 # CONFIG_ARM_ERRATA_430973
165 # CONFIG_ARM_ERRATA_454179
166 # CONFIG_ARM_ERRATA_621766
167 # CONFIG_ARM_ERRATA_798870
168 # CONFIG_ARM_ERRATA_801819
169 # CONFIG_ARM_CORTEX_A8_CVE_2017_5715
170 # CONFIG_ARM_CORTEX_A15_CVE_2017_5715
171
172 config ARM_ERRATA_430973
173         bool
174
175 config ARM_ERRATA_454179
176         bool
177
178 config ARM_ERRATA_621766
179         bool
180
181 config ARM_ERRATA_716044
182         bool
183
184 config ARM_ERRATA_725233
185         bool
186
187 config ARM_ERRATA_742230
188         bool
189
190 config ARM_ERRATA_743622
191         bool
192
193 config ARM_ERRATA_751472
194         bool
195
196 config ARM_ERRATA_761320
197         bool
198
199 config ARM_ERRATA_773022
200         bool
201
202 config ARM_ERRATA_774769
203         bool
204
205 config ARM_ERRATA_794072
206         bool
207
208 config ARM_ERRATA_798870
209         bool
210
211 config ARM_ERRATA_801819
212         bool
213
214 config ARM_ERRATA_826974
215         bool
216
217 config ARM_ERRATA_828024
218         bool
219
220 config ARM_ERRATA_829520
221         bool
222
223 config ARM_ERRATA_833069
224         bool
225
226 config ARM_ERRATA_833471
227         bool
228
229 config ARM_ERRATA_845369
230         bool
231
232 config ARM_ERRATA_852421
233         bool
234
235 config ARM_ERRATA_852423
236         bool
237
238 config ARM_ERRATA_855873
239         bool
240
241 config ARM_CORTEX_A8_CVE_2017_5715
242         bool
243
244 config ARM_CORTEX_A15_CVE_2017_5715
245         bool
246
247 config CPU_ARM720T
248         bool
249         select SYS_CACHE_SHIFT_5
250         imply SYS_ARM_MMU
251
252 config CPU_ARM920T
253         bool
254         select SYS_CACHE_SHIFT_5
255         imply SYS_ARM_MMU
256
257 config CPU_ARM926EJS
258         bool
259         select SYS_CACHE_SHIFT_5
260         imply SYS_ARM_MMU
261
262 config CPU_ARM946ES
263         bool
264         select SYS_CACHE_SHIFT_5
265         imply SYS_ARM_MMU
266
267 config CPU_ARM1136
268         bool
269         select SYS_CACHE_SHIFT_5
270         imply SYS_ARM_MMU
271
272 config CPU_ARM1176
273         bool
274         select HAS_VBAR
275         select SYS_CACHE_SHIFT_5
276         imply SYS_ARM_MMU
277
278 config CPU_V7A
279         bool
280         select HAS_THUMB2
281         select HAS_VBAR
282         select SYS_CACHE_SHIFT_6
283         imply SYS_ARM_MMU
284
285 config CPU_V7M
286         bool
287         select HAS_THUMB2
288         select SYS_ARM_MPU
289         select SYS_CACHE_SHIFT_5
290         select SYS_THUMB_BUILD
291         select THUMB2_KERNEL
292
293 config CPU_V7R
294         bool
295         select HAS_THUMB2
296         select SYS_ARM_CACHE_CP15
297         select SYS_ARM_MPU
298         select SYS_CACHE_SHIFT_6
299
300 config CPU_PXA
301         bool
302         select SYS_CACHE_SHIFT_5
303         imply SYS_ARM_MMU
304
305 config CPU_SA1100
306         bool
307         select SYS_CACHE_SHIFT_5
308         imply SYS_ARM_MMU
309
310 config SYS_CPU
311         default "arm720t" if CPU_ARM720T
312         default "arm920t" if CPU_ARM920T
313         default "arm926ejs" if CPU_ARM926EJS
314         default "arm946es" if CPU_ARM946ES
315         default "arm1136" if CPU_ARM1136
316         default "arm1176" if CPU_ARM1176
317         default "armv7" if CPU_V7A
318         default "armv7" if CPU_V7R
319         default "armv7m" if CPU_V7M
320         default "pxa" if CPU_PXA
321         default "sa1100" if CPU_SA1100
322         default "armv8" if ARM64
323
324 config SYS_ARM_ARCH
325         int
326         default 4 if CPU_ARM720T
327         default 4 if CPU_ARM920T
328         default 5 if CPU_ARM926EJS
329         default 5 if CPU_ARM946ES
330         default 6 if CPU_ARM1136
331         default 6 if CPU_ARM1176
332         default 7 if CPU_V7A
333         default 7 if CPU_V7M
334         default 7 if CPU_V7R
335         default 5 if CPU_PXA
336         default 4 if CPU_SA1100
337         default 8 if ARM64
338
339 choice
340         prompt "Select the ARM data write cache policy"
341         default SYS_ARM_CACHE_WRITETHROUGH if TARGET_BCMCYGNUS || \
342                                               CPU_PXA || RZA1
343         default SYS_ARM_CACHE_WRITEBACK
344
345 config SYS_ARM_CACHE_WRITEBACK
346         bool "Write-back (WB)"
347         help
348           A write updates the cache only and marks the cache line as dirty.
349           External memory is updated only when the line is evicted or explicitly
350           cleaned.
351
352 config SYS_ARM_CACHE_WRITETHROUGH
353         bool "Write-through (WT)"
354         help
355           A write updates both the cache and the external memory system.
356           This does not mark the cache line as dirty.
357
358 config SYS_ARM_CACHE_WRITEALLOC
359         bool "Write allocation (WA)"
360         help
361           A cache line is allocated on a write miss. This means that executing a
362           store instruction on the processor might cause a burst read to occur.
363           There is a linefill to obtain the data for the cache line, before the
364           write is performed.
365 endchoice
366
367 config ARCH_CPU_INIT
368         bool "Enable ARCH_CPU_INIT"
369         help
370           Some architectures require a call to arch_cpu_init().
371           Say Y here to enable it
372
373 config SYS_ARCH_TIMER
374         bool "ARM Generic Timer support"
375         depends on CPU_V7A || ARM64
376         default y if ARM64
377         help
378           The ARM Generic Timer (aka arch-timer) provides an architected
379           interface to a timer source on an SoC.
380           It is mandatory for ARMv8 implementation and widely available
381           on ARMv7 systems.
382
383 config ARM_SMCCC
384         bool "Support for ARM SMC Calling Convention (SMCCC)"
385         depends on CPU_V7A || ARM64
386         select ARM_PSCI_FW
387         help
388           Say Y here if you want to enable ARM SMC Calling Convention.
389           This should be enabled if U-Boot needs to communicate with system
390           firmware (for example, PSCI) according to SMCCC.
391
392 config SEMIHOSTING
393         bool "support boot from semihosting"
394         help
395           In emulated environments, semihosting is a way for
396           the hosted environment to call out to the emulator to
397           retrieve files from the host machine.
398
399 config SYS_THUMB_BUILD
400         bool "Build U-Boot using the Thumb instruction set"
401         depends on !ARM64
402         help
403            Use this flag to build U-Boot using the Thumb instruction set for
404            ARM architectures. Thumb instruction set provides better code
405            density. For ARM architectures that support Thumb2 this flag will
406            result in Thumb2 code generated by GCC.
407
408 config SPL_SYS_THUMB_BUILD
409         bool "Build SPL using the Thumb instruction set"
410         default y if SYS_THUMB_BUILD
411         depends on !ARM64 && SPL
412         help
413            Use this flag to build SPL using the Thumb instruction set for
414            ARM architectures. Thumb instruction set provides better code
415            density. For ARM architectures that support Thumb2 this flag will
416            result in Thumb2 code generated by GCC.
417
418 config TPL_SYS_THUMB_BUILD
419         bool "Build TPL using the Thumb instruction set"
420         default y if SYS_THUMB_BUILD
421         depends on TPL && !ARM64
422         help
423            Use this flag to build TPL using the Thumb instruction set for
424            ARM architectures. Thumb instruction set provides better code
425            density. For ARM architectures that support Thumb2 this flag will
426            result in Thumb2 code generated by GCC.
427
428
429 config SYS_L2CACHE_OFF
430         bool "L2cache off"
431         help
432           If SoC does not support L2CACHE or one does not want to enable
433           L2CACHE, choose this option.
434
435 config ENABLE_ARM_SOC_BOOT0_HOOK
436         bool "prepare BOOT0 header"
437         help
438           If the SoC's BOOT0 requires a header area filled with (magic)
439           values, then choose this option, and create a file included as
440           <asm/arch/boot0.h> which contains the required assembler code.
441
442 config ARM_CORTEX_CPU_IS_UP
443         bool
444
445 config USE_ARCH_MEMCPY
446         bool "Use an assembly optimized implementation of memcpy"
447         default y
448         depends on !ARM64
449         help
450           Enable the generation of an optimized version of memcpy.
451           Such an implementation may be faster under some conditions
452           but may increase the binary size.
453
454 config SPL_USE_ARCH_MEMCPY
455         bool "Use an assembly optimized implementation of memcpy for SPL"
456         default y if USE_ARCH_MEMCPY
457         depends on !ARM64 && SPL
458         help
459           Enable the generation of an optimized version of memcpy.
460           Such an implementation may be faster under some conditions
461           but may increase the binary size.
462
463 config TPL_USE_ARCH_MEMCPY
464         bool "Use an assembly optimized implementation of memcpy for TPL"
465         default y if USE_ARCH_MEMCPY
466         depends on !ARM64 && TPL
467         help
468           Enable the generation of an optimized version of memcpy.
469           Such an implementation may be faster under some conditions
470           but may increase the binary size.
471
472 config USE_ARCH_MEMSET
473         bool "Use an assembly optimized implementation of memset"
474         default y
475         depends on !ARM64
476         help
477           Enable the generation of an optimized version of memset.
478           Such an implementation may be faster under some conditions
479           but may increase the binary size.
480
481 config SPL_USE_ARCH_MEMSET
482         bool "Use an assembly optimized implementation of memset for SPL"
483         default y if USE_ARCH_MEMSET
484         depends on !ARM64 && SPL
485         help
486           Enable the generation of an optimized version of memset.
487           Such an implementation may be faster under some conditions
488           but may increase the binary size.
489
490 config TPL_USE_ARCH_MEMSET
491         bool "Use an assembly optimized implementation of memset for TPL"
492         default y if USE_ARCH_MEMSET
493         depends on !ARM64 && TPL
494         help
495           Enable the generation of an optimized version of memset.
496           Such an implementation may be faster under some conditions
497           but may increase the binary size.
498
499 config ARM64_SUPPORT_AARCH32
500         bool "ARM64 system support AArch32 execution state"
501         depends on ARM64
502         default y if !TARGET_THUNDERX_88XX
503         help
504           This ARM64 system supports AArch32 execution state.
505
506 choice
507         prompt "Target select"
508         default TARGET_HIKEY
509
510 config ARCH_AT91
511         bool "Atmel AT91"
512         select GPIO_EXTRA_HEADER
513         select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
514         select SPL_SEPARATE_BSS if SPL
515
516 config TARGET_ASPENITE
517         bool "Support aspenite"
518         select CPU_ARM926EJS
519         select GPIO_EXTRA_HEADER
520
521 config ARCH_DAVINCI
522         bool "TI DaVinci"
523         select CPU_ARM926EJS
524         select GPIO_EXTRA_HEADER
525         select SPL_DM_SPI if SPL
526         imply CMD_SAVES
527         help
528           Support for TI's DaVinci platform.
529
530 config ARCH_KIRKWOOD
531         bool "Marvell Kirkwood"
532         select ARCH_MISC_INIT
533         select BOARD_EARLY_INIT_F
534         select CPU_ARM926EJS
535         select GPIO_EXTRA_HEADER
536
537 config ARCH_MVEBU
538         bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
539         select DM
540         select DM_ETH
541         select DM_SERIAL
542         select DM_SPI
543         select DM_SPI_FLASH
544         select GPIO_EXTRA_HEADER
545         select SPL_DM_SPI if SPL
546         select SPL_DM_SPI_FLASH if SPL
547         select OF_CONTROL
548         select OF_SEPARATE
549         select SPI
550         imply CMD_DM
551
552 config ARCH_ORION5X
553         bool "Marvell Orion"
554         select CPU_ARM926EJS
555         select GPIO_EXTRA_HEADER
556
557 config TARGET_STV0991
558         bool "Support stv0991"
559         select CPU_V7A
560         select DM
561         select DM_SERIAL
562         select DM_SPI
563         select DM_SPI_FLASH
564         select GPIO_EXTRA_HEADER
565         select PL01X_SERIAL
566         select SPI
567         select SPI_FLASH
568         imply CMD_DM
569
570 config TARGET_FLEA3
571         bool "Support flea3"
572         select CPU_ARM1136
573         select GPIO_EXTRA_HEADER
574
575 config ARCH_BCM283X
576         bool "Broadcom BCM283X family"
577         select DM
578         select DM_GPIO
579         select DM_SERIAL
580         select GPIO_EXTRA_HEADER
581         select OF_CONTROL
582         select PL01X_SERIAL
583         select SERIAL_SEARCH_ALL
584         imply CMD_DM
585         imply FAT_WRITE
586
587 config ARCH_BCM63158
588         bool "Broadcom BCM63158 family"
589         select DM
590         select OF_CONTROL
591         imply CMD_DM
592
593 config ARCH_BCM68360
594         bool "Broadcom BCM68360 family"
595         select DM
596         select OF_CONTROL
597         imply CMD_DM
598
599 config ARCH_BCM6858
600         bool "Broadcom BCM6858 family"
601         select DM
602         select OF_CONTROL
603         imply CMD_DM
604
605 config ARCH_BCMSTB
606         bool "Broadcom BCM7XXX family"
607         select CPU_V7A
608         select DM
609         select GPIO_EXTRA_HEADER
610         select OF_CONTROL
611         select OF_PRIOR_STAGE
612         imply CMD_DM
613         help
614           This enables support for Broadcom ARM-based set-top box
615           chipsets, including the 7445 family of chips.
616
617 config TARGET_BCMCYGNUS
618         bool "Support bcmcygnus"
619         select CPU_V7A
620         select GPIO_EXTRA_HEADER
621         imply BCM_SF2_ETH
622         imply BCM_SF2_ETH_GMAC
623         imply CMD_HASH
624         imply CRC32_VERIFY
625         imply FAT_WRITE
626         imply HASH_VERIFY
627         imply NETDEVICES
628
629 config TARGET_BCMNS2
630         bool "Support Broadcom Northstar2"
631         select ARM64
632         select GPIO_EXTRA_HEADER
633         help
634           Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
635           ARMv8 Cortex-A57 processors targeting a broad range of networking
636           applications.
637
638 config TARGET_BCMNS3
639         bool "Support Broadcom NS3"
640         select ARM64
641         select BOARD_LATE_INIT
642         help
643           Support for Broadcom Northstar 3 SoCs. NS3 is a octo-core 64-bit
644           ARMv8 Cortex-A72 processors targeting a broad range of networking
645           applications.
646
647 config ARCH_EXYNOS
648         bool "Samsung EXYNOS"
649         select DM
650         select DM_GPIO
651         select DM_I2C
652         select DM_ETH
653         select DM_KEYBOARD
654         select DM_SERIAL
655         select DM_SPI
656         select DM_SPI_FLASH
657         select SPI
658         select GPIO_EXTRA_HEADER
659         imply SYS_THUMB_BUILD
660         imply CMD_DM
661         imply FAT_WRITE
662
663 config ARCH_S5PC1XX
664         bool "Samsung S5PC1XX"
665         select CPU_V7A
666         select DM
667         select DM_GPIO
668         select DM_I2C
669         select DM_SERIAL
670         select GPIO_EXTRA_HEADER
671         imply CMD_DM
672
673 config ARCH_HIGHBANK
674         bool "Calxeda Highbank"
675         select CPU_V7A
676         select PL01X_SERIAL
677         select DM
678         select DM_SERIAL
679         select OF_CONTROL
680         select OF_BOARD
681         select CLK
682         select CLK_CCF
683         select AHCI
684         select DM_ETH
685         select PHYS_64BIT
686
687 config ARCH_INTEGRATOR
688         bool "ARM Ltd. Integrator family"
689         select DM
690         select DM_SERIAL
691         select GPIO_EXTRA_HEADER
692         select PL01X_SERIAL
693         imply CMD_DM
694
695 config ARCH_IPQ40XX
696         bool "Qualcomm IPQ40xx SoCs"
697         select CPU_V7A
698         select DM
699         select DM_GPIO
700         select DM_SERIAL
701         select DM_RESET
702         select GPIO_EXTRA_HEADER
703         select MSM_SMEM
704         select PINCTRL
705         select CLK
706         select SMEM
707         select OF_CONTROL
708         imply CMD_DM
709
710 config ARCH_KEYSTONE
711         bool "TI Keystone"
712         select CMD_POWEROFF
713         select CPU_V7A
714         select DDR_SPD
715         select GPIO_EXTRA_HEADER
716         select SUPPORT_SPL
717         select SYS_ARCH_TIMER
718         select SYS_THUMB_BUILD
719         imply CMD_MTDPARTS
720         imply CMD_SAVES
721         imply FIT
722
723 config ARCH_K3
724         bool "Texas Instruments' K3 Architecture"
725         select SPL
726         select SUPPORT_SPL
727         select FIT
728
729 config ARCH_OMAP2PLUS
730         bool "TI OMAP2+"
731         select CPU_V7A
732         select GPIO_EXTRA_HEADER
733         select SPL_BOARD_INIT if SPL
734         select SPL_STACK_R if SPL
735         select SUPPORT_SPL
736         imply TI_SYSC if DM && OF_CONTROL
737         imply FIT
738
739 config ARCH_MESON
740         bool "Amlogic Meson"
741         select GPIO_EXTRA_HEADER
742         imply DISTRO_DEFAULTS
743         imply DM_RNG
744         help
745           Support for the Meson SoC family developed by Amlogic Inc.,
746           targeted at media players and tablet computers. We currently
747           support the S905 (GXBaby) 64-bit SoC.
748
749 config ARCH_MEDIATEK
750         bool "MediaTek SoCs"
751         select DM
752         select GPIO_EXTRA_HEADER
753         select OF_CONTROL
754         select SPL_DM if SPL
755         select SPL_LIBCOMMON_SUPPORT if SPL
756         select SPL_LIBGENERIC_SUPPORT if SPL
757         select SPL_OF_CONTROL if SPL
758         select SUPPORT_SPL
759         help
760           Support for the MediaTek SoCs family developed by MediaTek Inc.
761           Please refer to doc/README.mediatek for more information.
762
763 config ARCH_LPC32XX
764         bool "NXP LPC32xx platform"
765         select CPU_ARM926EJS
766         select DM
767         select DM_GPIO
768         select DM_SERIAL
769         select GPIO_EXTRA_HEADER
770         select SPL_DM if SPL
771         select SUPPORT_SPL
772         imply CMD_DM
773
774 config ARCH_IMX8
775         bool "NXP i.MX8 platform"
776         select ARM64
777         select DM
778         select GPIO_EXTRA_HEADER
779         select MACH_IMX
780         select OF_CONTROL
781         select ENABLE_ARM_SOC_BOOT0_HOOK
782
783 config ARCH_IMX8M
784         bool "NXP i.MX8M platform"
785         select ARM64
786         select GPIO_EXTRA_HEADER
787         select MACH_IMX
788         select SYS_FSL_HAS_SEC if IMX_HAB
789         select SYS_FSL_SEC_COMPAT_4
790         select SYS_FSL_SEC_LE
791         select SYS_I2C_MXC
792         select DM
793         select SUPPORT_SPL
794         imply CMD_DM
795
796 config ARCH_IMX8ULP
797         bool "NXP i.MX8ULP platform"
798         select ARM64
799         select DM
800         select MACH_IMX
801         select OF_CONTROL
802         select SUPPORT_SPL
803         select GPIO_EXTRA_HEADER
804         imply CMD_DM
805
806 config ARCH_IMXRT
807         bool "NXP i.MXRT platform"
808         select CPU_V7M
809         select DM
810         select DM_SERIAL
811         select GPIO_EXTRA_HEADER
812         select MACH_IMX
813         select SUPPORT_SPL
814         imply CMD_DM
815
816 config ARCH_MX23
817         bool "NXP i.MX23 family"
818         select CPU_ARM926EJS
819         select GPIO_EXTRA_HEADER
820         select MACH_IMX
821         select PL011_SERIAL
822         select SUPPORT_SPL
823
824 config ARCH_MX25
825         bool "NXP MX25"
826         select CPU_ARM926EJS
827         select GPIO_EXTRA_HEADER
828         select MACH_IMX
829         imply MXC_GPIO
830
831 config ARCH_MX28
832         bool "NXP i.MX28 family"
833         select CPU_ARM926EJS
834         select GPIO_EXTRA_HEADER
835         select PL011_SERIAL
836         select MACH_IMX
837         select SUPPORT_SPL
838
839 config ARCH_MX31
840         bool "NXP i.MX31 family"
841         select CPU_ARM1136
842         select GPIO_EXTRA_HEADER
843         select MACH_IMX
844
845 config ARCH_MX7ULP
846         bool "NXP MX7ULP"
847         select CPU_V7A
848         select GPIO_EXTRA_HEADER
849         select MACH_IMX
850         select SYS_FSL_HAS_SEC if IMX_HAB
851         select SYS_FSL_SEC_COMPAT_4
852         select SYS_FSL_SEC_LE
853         select ROM_UNIFIED_SECTIONS
854         imply MXC_GPIO
855         imply SYS_THUMB_BUILD
856
857 config ARCH_MX7
858         bool "Freescale MX7"
859         select ARCH_MISC_INIT
860         select CPU_V7A
861         select GPIO_EXTRA_HEADER
862         select MACH_IMX
863         select SYS_FSL_HAS_SEC if IMX_HAB
864         select SYS_FSL_SEC_COMPAT_4
865         select SYS_FSL_SEC_LE
866         imply BOARD_EARLY_INIT_F
867         imply MXC_GPIO
868         imply SYS_THUMB_BUILD
869
870 config ARCH_MX6
871         bool "Freescale MX6"
872         select CPU_V7A
873         select GPIO_EXTRA_HEADER
874         select MACH_IMX
875         select SYS_FSL_HAS_SEC
876         select SYS_FSL_SEC_COMPAT_4
877         select SYS_FSL_SEC_LE
878         imply MXC_GPIO
879         imply SYS_THUMB_BUILD
880
881 if ARCH_MX6
882 config SPL_LDSCRIPT
883         default "arch/arm/mach-omap2/u-boot-spl.lds"
884 endif
885
886 config ARCH_MX5
887         bool "Freescale MX5"
888         select BOARD_EARLY_INIT_F
889         select CPU_V7A
890         select GPIO_EXTRA_HEADER
891         select MACH_IMX
892         imply MXC_GPIO
893
894 config ARCH_NEXELL
895         bool "Nexell S5P4418/S5P6818 SoC"
896         select ENABLE_ARM_SOC_BOOT0_HOOK
897         select DM
898         select GPIO_EXTRA_HEADER
899
900 config ARCH_OWL
901         bool "Actions Semi OWL SoCs"
902         select DM
903         select DM_ETH
904         select DM_SERIAL
905         select GPIO_EXTRA_HEADER
906         select OWL_SERIAL
907         select CLK
908         select CLK_OWL
909         select OF_CONTROL
910         select SYS_RELOC_GD_ENV_ADDR
911         imply CMD_DM
912
913 config ARCH_QEMU
914         bool "QEMU Virtual Platform"
915         select DM
916         select DM_SERIAL
917         select OF_CONTROL
918         select PL01X_SERIAL
919         imply CMD_DM
920         imply DM_RNG
921         imply DM_RTC
922         imply RTC_PL031
923
924 config ARCH_RMOBILE
925         bool "Renesas ARM SoCs"
926         select DM
927         select DM_SERIAL
928         select GPIO_EXTRA_HEADER
929         imply BOARD_EARLY_INIT_F
930         imply CMD_DM
931         imply FAT_WRITE
932         imply SYS_THUMB_BUILD
933         imply ARCH_MISC_INIT if DISPLAY_CPUINFO
934
935 config ARCH_SNAPDRAGON
936         bool "Qualcomm Snapdragon SoCs"
937         select ARM64
938         select DM
939         select DM_GPIO
940         select DM_SERIAL
941         select GPIO_EXTRA_HEADER
942         select MSM_SMEM
943         select OF_CONTROL
944         select OF_SEPARATE
945         select SMEM
946         select SPMI
947         imply CMD_DM
948
949 config ARCH_SOCFPGA
950         bool "Altera SOCFPGA family"
951         select ARCH_EARLY_INIT_R
952         select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
953         select ARM64 if TARGET_SOCFPGA_SOC64
954         select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
955         select DM
956         select DM_SERIAL
957         select GICV2
958         select GPIO_EXTRA_HEADER
959         select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
960         select OF_CONTROL
961         select SPL_DM_RESET if DM_RESET
962         select SPL_DM_SERIAL
963         select SPL_LIBCOMMON_SUPPORT
964         select SPL_LIBGENERIC_SUPPORT
965         select SPL_NAND_SUPPORT if SPL_NAND_DENALI
966         select SPL_OF_CONTROL
967         select SPL_SEPARATE_BSS if TARGET_SOCFPGA_SOC64
968         select SPL_SERIAL_SUPPORT
969         select SPL_SYSRESET
970         select SPL_WATCHDOG
971         select SUPPORT_SPL
972         select SYS_NS16550
973         select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
974         select SYSRESET
975         select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
976         select SYSRESET_SOCFPGA_SOC64 if TARGET_SOCFPGA_SOC64
977         imply CMD_DM
978         imply CMD_MTDPARTS
979         imply CRC32_VERIFY
980         imply DM_SPI
981         imply DM_SPI_FLASH
982         imply FAT_WRITE
983         imply SPL
984         imply SPL_DM
985         imply SPL_DM_SPI
986         imply SPL_DM_SPI_FLASH
987         imply SPL_LIBDISK_SUPPORT
988         imply SPL_MMC_SUPPORT
989         imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
990         imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
991         imply SPL_SPI_FLASH_SUPPORT
992         imply SPL_SPI_SUPPORT
993         imply L2X0_CACHE
994
995 config ARCH_SUNXI
996         bool "Support sunxi (Allwinner) SoCs"
997         select BINMAN
998         select CMD_GPIO
999         select CMD_MMC if MMC
1000         select CMD_USB if DISTRO_DEFAULTS && USB_HOST
1001         select CLK
1002         select DM
1003         select DM_ETH
1004         select DM_GPIO
1005         select DM_KEYBOARD
1006         select DM_MMC if MMC
1007         select DM_SCSI if SCSI
1008         select DM_SERIAL
1009         select GPIO_EXTRA_HEADER
1010         select OF_BOARD_SETUP
1011         select OF_CONTROL
1012         select OF_SEPARATE
1013         select SPECIFY_CONSOLE_INDEX
1014         select SPL_STACK_R if SPL
1015         select SPL_SYS_MALLOC_SIMPLE if SPL
1016         select SPL_SYS_THUMB_BUILD if !ARM64
1017         select SUNXI_GPIO
1018         select SYS_NS16550
1019         select SYS_THUMB_BUILD if !ARM64
1020         select USB if DISTRO_DEFAULTS
1021         select USB_KEYBOARD if DISTRO_DEFAULTS && USB_HOST
1022         select USB_STORAGE if DISTRO_DEFAULTS && USB_HOST
1023         select SPL_USE_TINY_PRINTF
1024         select USE_PREBOOT
1025         select SYS_RELOC_GD_ENV_ADDR
1026         imply BOARD_LATE_INIT
1027         imply CMD_DM
1028         imply CMD_GPT
1029         imply CMD_UBI if MTD_RAW_NAND
1030         imply DISTRO_DEFAULTS
1031         imply FAT_WRITE
1032         imply FIT
1033         imply OF_LIBFDT_OVERLAY
1034         imply PRE_CONSOLE_BUFFER
1035         imply SPL_GPIO
1036         imply SPL_LIBCOMMON_SUPPORT
1037         imply SPL_LIBGENERIC_SUPPORT
1038         imply SPL_MMC_SUPPORT if MMC
1039         imply SPL_POWER
1040         imply SPL_SERIAL_SUPPORT
1041         imply USB_GADGET
1042
1043 config ARCH_U8500
1044         bool "ST-Ericsson U8500 Series"
1045         select CPU_V7A
1046         select DM
1047         select DM_GPIO
1048         select DM_MMC if MMC
1049         select DM_SERIAL
1050         select DM_USB_GADGET if DM_USB
1051         select OF_CONTROL
1052         select SYSRESET
1053         select TIMER
1054         imply AB8500_USB_PHY
1055         imply ARM_PL180_MMCI
1056         imply CLK
1057         imply DM_PMIC
1058         imply DM_RTC
1059         imply NOMADIK_GPIO
1060         imply NOMADIK_MTU_TIMER
1061         imply PHY
1062         imply PL01X_SERIAL
1063         imply PMIC_AB8500
1064         imply RTC_PL031
1065         imply SYS_THUMB_BUILD
1066         imply SYSRESET_SYSCON
1067
1068 config ARCH_VERSAL
1069         bool "Support Xilinx Versal Platform"
1070         select ARM64
1071         select CLK
1072         select DM
1073         select DM_ETH if NET
1074         select DM_MMC if MMC
1075         select DM_SERIAL
1076         select GICV3
1077         select GPIO_EXTRA_HEADER
1078         select OF_CONTROL
1079         select SOC_DEVICE
1080         imply BOARD_LATE_INIT
1081         imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1082
1083 config ARCH_VF610
1084         bool "Freescale Vybrid"
1085         select CPU_V7A
1086         select GPIO_EXTRA_HEADER
1087         select MACH_IMX
1088         select SYS_FSL_ERRATUM_ESDHC111
1089         imply CMD_MTDPARTS
1090         imply MTD_RAW_NAND
1091
1092 config ARCH_ZYNQ
1093         bool "Xilinx Zynq based platform"
1094         select CLK
1095         select CLK_ZYNQ
1096         select CPU_V7A
1097         select DM
1098         select DM_ETH if NET
1099         select DM_MMC if MMC
1100         select DM_SERIAL
1101         select DM_SPI
1102         select DM_SPI_FLASH
1103         select GPIO_EXTRA_HEADER
1104         select OF_CONTROL
1105         select SPI
1106         select SPL_BOARD_INIT if SPL
1107         select SPL_CLK if SPL
1108         select SPL_DM if SPL
1109         select SPL_DM_SPI if SPL
1110         select SPL_DM_SPI_FLASH if SPL
1111         select SPL_OF_CONTROL if SPL
1112         select SPL_SEPARATE_BSS if SPL
1113         select SUPPORT_SPL
1114         imply ARCH_EARLY_INIT_R
1115         imply BOARD_LATE_INIT
1116         imply CMD_CLK
1117         imply CMD_DM
1118         imply CMD_SPL
1119         imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1120         imply FAT_WRITE
1121
1122 config ARCH_ZYNQMP_R5
1123         bool "Xilinx ZynqMP R5 based platform"
1124         select CLK
1125         select CPU_V7R
1126         select DM
1127         select DM_ETH if NET
1128         select DM_MMC if MMC
1129         select DM_SERIAL
1130         select GPIO_EXTRA_HEADER
1131         select OF_CONTROL
1132         imply CMD_DM
1133         imply DM_USB_GADGET
1134
1135 config ARCH_ZYNQMP
1136         bool "Xilinx ZynqMP based platform"
1137         select ARM64
1138         select CLK
1139         select DM
1140         select DM_ETH if NET
1141         select DM_MAILBOX
1142         select DM_MMC if MMC
1143         select DM_SERIAL
1144         select DM_SPI if SPI
1145         select DM_SPI_FLASH if DM_SPI
1146         select FIRMWARE
1147         select GICV2
1148         select GPIO_EXTRA_HEADER
1149         select OF_CONTROL
1150         select SPL_BOARD_INIT if SPL
1151         select SPL_CLK if SPL
1152         select SPL_DM if SPL
1153         select SPL_DM_SPI if SPI && SPL_DM
1154         select SPL_DM_SPI_FLASH if SPL_DM_SPI
1155         select SPL_DM_MAILBOX if SPL
1156         select SPL_FIRMWARE if SPL
1157         select SPL_SEPARATE_BSS if SPL
1158         select SUPPORT_SPL
1159         select ZYNQMP_IPI
1160         select SOC_DEVICE
1161         imply BOARD_LATE_INIT
1162         imply CMD_DM
1163         imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1164         imply FAT_WRITE
1165         imply MP
1166         imply DM_USB_GADGET
1167
1168 config ARCH_TEGRA
1169         bool "NVIDIA Tegra"
1170         select GPIO_EXTRA_HEADER
1171         imply DISTRO_DEFAULTS
1172         imply FAT_WRITE
1173
1174 config TARGET_VEXPRESS64_AEMV8A
1175         bool "Support vexpress_aemv8a"
1176         select ARM64
1177         select GPIO_EXTRA_HEADER
1178         select PL01X_SERIAL
1179
1180 config TARGET_VEXPRESS64_BASE_FVP
1181         bool "Support Versatile Express ARMv8a FVP BASE model"
1182         select ARM64
1183         select GPIO_EXTRA_HEADER
1184         select PL01X_SERIAL
1185         select SEMIHOSTING
1186
1187 config TARGET_VEXPRESS64_JUNO
1188         bool "Support Versatile Express Juno Development Platform"
1189         select ARM64
1190         select GPIO_EXTRA_HEADER
1191         select PL01X_SERIAL
1192         select DM
1193         select OF_CONTROL
1194         select OF_BOARD
1195         select CLK
1196         select DM_SERIAL
1197         select ARM_PSCI_FW
1198         select PSCI_RESET
1199         select DM_ETH
1200         select BLK
1201         select USB
1202
1203 config TARGET_TOTAL_COMPUTE
1204         bool "Support Total Compute Platform"
1205         select ARM64
1206         select PL01X_SERIAL
1207         select DM
1208         select DM_SERIAL
1209         select DM_MMC
1210         select DM_GPIO
1211
1212 config TARGET_LS2080A_EMU
1213         bool "Support ls2080a_emu"
1214         select ARCH_LS2080A
1215         select ARM64
1216         select ARMV8_MULTIENTRY
1217         select FSL_DDR_SYNC_REFRESH
1218         select GPIO_EXTRA_HEADER
1219         help
1220           Support for Freescale LS2080A_EMU platform.
1221           The LS2080A Development System (EMULATOR) is a pre-silicon
1222           development platform that supports the QorIQ LS2080A
1223           Layerscape Architecture processor.
1224
1225 config TARGET_LS1088AQDS
1226         bool "Support ls1088aqds"
1227         select ARCH_LS1088A
1228         select ARM64
1229         select ARMV8_MULTIENTRY
1230         select ARCH_SUPPORT_TFABOOT
1231         select BOARD_LATE_INIT
1232         select GPIO_EXTRA_HEADER
1233         select SUPPORT_SPL
1234         select FSL_DDR_INTERACTIVE if !SD_BOOT
1235         help
1236           Support for NXP LS1088AQDS platform.
1237           The LS1088A Development System (QDS) is a high-performance
1238           development platform that supports the QorIQ LS1088A
1239           Layerscape Architecture processor.
1240
1241 config TARGET_LS2080AQDS
1242         bool "Support ls2080aqds"
1243         select ARCH_LS2080A
1244         select ARM64
1245         select ARMV8_MULTIENTRY
1246         select ARCH_SUPPORT_TFABOOT
1247         select BOARD_LATE_INIT
1248         select GPIO_EXTRA_HEADER
1249         select SUPPORT_SPL
1250         imply SCSI
1251         imply SCSI_AHCI
1252         select FSL_DDR_BIST
1253         select FSL_DDR_INTERACTIVE if !SPL
1254         help
1255           Support for Freescale LS2080AQDS platform.
1256           The LS2080A Development System (QDS) is a high-performance
1257           development platform that supports the QorIQ LS2080A
1258           Layerscape Architecture processor.
1259
1260 config TARGET_LS2080ARDB
1261         bool "Support ls2080ardb"
1262         select ARCH_LS2080A
1263         select ARM64
1264         select ARMV8_MULTIENTRY
1265         select ARCH_SUPPORT_TFABOOT
1266         select BOARD_LATE_INIT
1267         select SUPPORT_SPL
1268         select FSL_DDR_BIST
1269         select FSL_DDR_INTERACTIVE if !SPL
1270         select GPIO_EXTRA_HEADER
1271         imply SCSI
1272         imply SCSI_AHCI
1273         help
1274           Support for Freescale LS2080ARDB platform.
1275           The LS2080A Reference design board (RDB) is a high-performance
1276           development platform that supports the QorIQ LS2080A
1277           Layerscape Architecture processor.
1278
1279 config TARGET_LS2081ARDB
1280         bool "Support ls2081ardb"
1281         select ARCH_LS2080A
1282         select ARM64
1283         select ARMV8_MULTIENTRY
1284         select BOARD_LATE_INIT
1285         select GPIO_EXTRA_HEADER
1286         select SUPPORT_SPL
1287         help
1288           Support for Freescale LS2081ARDB platform.
1289           The LS2081A Reference design board (RDB) is a high-performance
1290           development platform that supports the QorIQ LS2081A/LS2041A
1291           Layerscape Architecture processor.
1292
1293 config TARGET_LX2160ARDB
1294         bool "Support lx2160ardb"
1295         select ARCH_LX2160A
1296         select ARM64
1297         select ARMV8_MULTIENTRY
1298         select ARCH_SUPPORT_TFABOOT
1299         select BOARD_LATE_INIT
1300         select GPIO_EXTRA_HEADER
1301         help
1302           Support for NXP LX2160ARDB platform.
1303           The lx2160ardb (LX2160A Reference design board (RDB)
1304           is a high-performance development platform that supports the
1305           QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1306
1307 config TARGET_LX2160AQDS
1308         bool "Support lx2160aqds"
1309         select ARCH_LX2160A
1310         select ARM64
1311         select ARMV8_MULTIENTRY
1312         select ARCH_SUPPORT_TFABOOT
1313         select BOARD_LATE_INIT
1314         select GPIO_EXTRA_HEADER
1315         help
1316           Support for NXP LX2160AQDS platform.
1317           The lx2160aqds (LX2160A QorIQ Development System (QDS)
1318           is a high-performance development platform that supports the
1319           QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1320
1321 config TARGET_LX2162AQDS
1322         bool "Support lx2162aqds"
1323         select ARCH_LX2162A
1324         select ARCH_MISC_INIT
1325         select ARM64
1326         select ARMV8_MULTIENTRY
1327         select ARCH_SUPPORT_TFABOOT
1328         select BOARD_LATE_INIT
1329         select GPIO_EXTRA_HEADER
1330         help
1331           Support for NXP LX2162AQDS platform.
1332           The lx2162aqds support is based on LX2160A Layerscape Architecture processor.
1333
1334 config TARGET_HIKEY
1335         bool "Support HiKey 96boards Consumer Edition Platform"
1336         select ARM64
1337         select DM
1338         select DM_GPIO
1339         select DM_SERIAL
1340         select GPIO_EXTRA_HEADER
1341         select OF_CONTROL
1342         select PL01X_SERIAL
1343         select SPECIFY_CONSOLE_INDEX
1344         imply CMD_DM
1345           help
1346           Support for HiKey 96boards platform. It features a HI6220
1347           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1348
1349 config TARGET_HIKEY960
1350         bool "Support HiKey960 96boards Consumer Edition Platform"
1351         select ARM64
1352         select DM
1353         select DM_SERIAL
1354         select GPIO_EXTRA_HEADER
1355         select OF_CONTROL
1356         select PL01X_SERIAL
1357         imply CMD_DM
1358           help
1359           Support for HiKey960 96boards platform. It features a HI3660
1360           SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM.
1361
1362 config TARGET_POPLAR
1363         bool "Support Poplar 96boards Enterprise Edition Platform"
1364         select ARM64
1365         select DM
1366         select DM_SERIAL
1367         select GPIO_EXTRA_HEADER
1368         select OF_CONTROL
1369         select PL01X_SERIAL
1370         imply CMD_DM
1371           help
1372           Support for Poplar 96boards EE platform. It features a HI3798cv200
1373           SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1374           making it capable of running any commercial set-top solution based on
1375           Linux or Android.
1376
1377 config TARGET_LS1012AQDS
1378         bool "Support ls1012aqds"
1379         select ARCH_LS1012A
1380         select ARM64
1381         select ARCH_SUPPORT_TFABOOT
1382         select BOARD_LATE_INIT
1383         select GPIO_EXTRA_HEADER
1384         help
1385           Support for Freescale LS1012AQDS platform.
1386           The LS1012A Development System (QDS) is a high-performance
1387           development platform that supports the QorIQ LS1012A
1388           Layerscape Architecture processor.
1389
1390 config TARGET_LS1012ARDB
1391         bool "Support ls1012ardb"
1392         select ARCH_LS1012A
1393         select ARM64
1394         select ARCH_SUPPORT_TFABOOT
1395         select BOARD_LATE_INIT
1396         select GPIO_EXTRA_HEADER
1397         imply SCSI
1398         imply SCSI_AHCI
1399         help
1400           Support for Freescale LS1012ARDB platform.
1401           The LS1012A Reference design board (RDB) is a high-performance
1402           development platform that supports the QorIQ LS1012A
1403           Layerscape Architecture processor.
1404
1405 config TARGET_LS1012A2G5RDB
1406         bool "Support ls1012a2g5rdb"
1407         select ARCH_LS1012A
1408         select ARM64
1409         select ARCH_SUPPORT_TFABOOT
1410         select BOARD_LATE_INIT
1411         select GPIO_EXTRA_HEADER
1412         imply SCSI
1413         help
1414           Support for Freescale LS1012A2G5RDB platform.
1415           The LS1012A 2G5 Reference design board (RDB) is a high-performance
1416           development platform that supports the QorIQ LS1012A
1417           Layerscape Architecture processor.
1418
1419 config TARGET_LS1012AFRWY
1420         bool "Support ls1012afrwy"
1421         select ARCH_LS1012A
1422         select ARM64
1423         select ARCH_SUPPORT_TFABOOT
1424         select BOARD_LATE_INIT
1425         select GPIO_EXTRA_HEADER
1426         imply SCSI
1427         imply SCSI_AHCI
1428         help
1429          Support for Freescale LS1012AFRWY platform.
1430          The LS1012A FRWY board (FRWY) is a high-performance
1431          development platform that supports the QorIQ LS1012A
1432          Layerscape Architecture processor.
1433
1434 config TARGET_LS1012AFRDM
1435         bool "Support ls1012afrdm"
1436         select ARCH_LS1012A
1437         select ARM64
1438         select ARCH_SUPPORT_TFABOOT
1439         select GPIO_EXTRA_HEADER
1440         help
1441           Support for Freescale LS1012AFRDM platform.
1442           The LS1012A Freedom  board (FRDM) is a high-performance
1443           development platform that supports the QorIQ LS1012A
1444           Layerscape Architecture processor.
1445
1446 config TARGET_LS1028AQDS
1447         bool "Support ls1028aqds"
1448         select ARCH_LS1028A
1449         select ARM64
1450         select ARMV8_MULTIENTRY
1451         select ARCH_SUPPORT_TFABOOT
1452         select BOARD_LATE_INIT
1453         select GPIO_EXTRA_HEADER
1454         help
1455           Support for Freescale LS1028AQDS platform
1456           The LS1028A Development System (QDS) is a high-performance
1457           development platform that supports the QorIQ LS1028A
1458           Layerscape Architecture processor.
1459
1460 config TARGET_LS1028ARDB
1461         bool "Support ls1028ardb"
1462         select ARCH_LS1028A
1463         select ARM64
1464         select ARMV8_MULTIENTRY
1465         select ARCH_SUPPORT_TFABOOT
1466         select BOARD_LATE_INIT
1467         select GPIO_EXTRA_HEADER
1468         help
1469           Support for Freescale LS1028ARDB platform
1470           The LS1028A Development System (RDB) is a high-performance
1471           development platform that supports the QorIQ LS1028A
1472           Layerscape Architecture processor.
1473
1474 config TARGET_LS1088ARDB
1475         bool "Support ls1088ardb"
1476         select ARCH_LS1088A
1477         select ARM64
1478         select ARMV8_MULTIENTRY
1479         select ARCH_SUPPORT_TFABOOT
1480         select BOARD_LATE_INIT
1481         select SUPPORT_SPL
1482         select FSL_DDR_INTERACTIVE if !SD_BOOT
1483         select GPIO_EXTRA_HEADER
1484         help
1485           Support for NXP LS1088ARDB platform.
1486           The LS1088A Reference design board (RDB) is a high-performance
1487           development platform that supports the QorIQ LS1088A
1488           Layerscape Architecture processor.
1489
1490 config TARGET_LS1021AQDS
1491         bool "Support ls1021aqds"
1492         select ARCH_LS1021A
1493         select ARCH_SUPPORT_PSCI
1494         select BOARD_EARLY_INIT_F
1495         select BOARD_LATE_INIT
1496         select CPU_V7A
1497         select CPU_V7_HAS_NONSEC
1498         select CPU_V7_HAS_VIRT
1499         select LS1_DEEP_SLEEP
1500         select SUPPORT_SPL
1501         select SYS_FSL_DDR
1502         select FSL_DDR_INTERACTIVE
1503         select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1504         select GPIO_EXTRA_HEADER
1505         select SPI_FLASH_DATAFLASH if FSL_DSPI || FSL_QSPI
1506         imply SCSI
1507
1508 config TARGET_LS1021ATWR
1509         bool "Support ls1021atwr"
1510         select ARCH_LS1021A
1511         select ARCH_SUPPORT_PSCI
1512         select BOARD_EARLY_INIT_F
1513         select BOARD_LATE_INIT
1514         select CPU_V7A
1515         select CPU_V7_HAS_NONSEC
1516         select CPU_V7_HAS_VIRT
1517         select LS1_DEEP_SLEEP
1518         select SUPPORT_SPL
1519         select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1520         select GPIO_EXTRA_HEADER
1521         imply SCSI
1522
1523 config TARGET_PG_WCOM_SELI8
1524         bool "Support Hitachi-Powergrids SELI8 service unit card"
1525         select ARCH_LS1021A
1526         select ARCH_SUPPORT_PSCI
1527         select BOARD_EARLY_INIT_F
1528         select BOARD_LATE_INIT
1529         select CPU_V7A
1530         select CPU_V7_HAS_NONSEC
1531         select CPU_V7_HAS_VIRT
1532         select SYS_FSL_DDR
1533         select FSL_DDR_INTERACTIVE
1534         select GPIO_EXTRA_HEADER
1535         select VENDOR_KM
1536         imply SCSI
1537         help
1538          Support for Hitachi-Powergrids SELI8 service unit card.
1539          SELI8 is a QorIQ LS1021a based service unit card used
1540          in XMC20 and FOX615 product families.
1541
1542 config TARGET_PG_WCOM_EXPU1
1543         bool "Support Hitachi-Powergrids EXPU1 service unit card"
1544         select ARCH_LS1021A
1545         select ARCH_SUPPORT_PSCI
1546         select BOARD_EARLY_INIT_F
1547         select BOARD_LATE_INIT
1548         select CPU_V7A
1549         select CPU_V7_HAS_NONSEC
1550         select CPU_V7_HAS_VIRT
1551         select SYS_FSL_DDR
1552         select FSL_DDR_INTERACTIVE
1553         select VENDOR_KM
1554         imply SCSI
1555         help
1556          Support for Hitachi-Powergrids EXPU1 service unit card.
1557          EXPU1 is a QorIQ LS1021a based service unit card used
1558          in XMC20 and FOX615 product families.
1559
1560 config TARGET_LS1021ATSN
1561         bool "Support ls1021atsn"
1562         select ARCH_LS1021A
1563         select ARCH_SUPPORT_PSCI
1564         select BOARD_EARLY_INIT_F
1565         select BOARD_LATE_INIT
1566         select CPU_V7A
1567         select CPU_V7_HAS_NONSEC
1568         select CPU_V7_HAS_VIRT
1569         select LS1_DEEP_SLEEP
1570         select SUPPORT_SPL
1571         select GPIO_EXTRA_HEADER
1572         imply SCSI
1573
1574 config TARGET_LS1021AIOT
1575         bool "Support ls1021aiot"
1576         select ARCH_LS1021A
1577         select ARCH_SUPPORT_PSCI
1578         select BOARD_LATE_INIT
1579         select CPU_V7A
1580         select CPU_V7_HAS_NONSEC
1581         select CPU_V7_HAS_VIRT
1582         select SUPPORT_SPL
1583         select DM_SPI_FLASH if FSL_DSPI || FSL_QSPI
1584         select GPIO_EXTRA_HEADER
1585         imply SCSI
1586         help
1587           Support for Freescale LS1021AIOT platform.
1588           The LS1021A Freescale board (IOT) is a high-performance
1589           development platform that supports the QorIQ LS1021A
1590           Layerscape Architecture processor.
1591
1592 config TARGET_LS1043AQDS
1593         bool "Support ls1043aqds"
1594         select ARCH_LS1043A
1595         select ARM64
1596         select ARMV8_MULTIENTRY
1597         select ARCH_SUPPORT_TFABOOT
1598         select BOARD_EARLY_INIT_F
1599         select BOARD_LATE_INIT
1600         select SUPPORT_SPL
1601         select FSL_DDR_INTERACTIVE if !SPL
1602         select FSL_DSPI if !SPL_NO_DSPI
1603         select DM_SPI_FLASH if FSL_DSPI
1604         select GPIO_EXTRA_HEADER
1605         imply SCSI
1606         imply SCSI_AHCI
1607         help
1608           Support for Freescale LS1043AQDS platform.
1609
1610 config TARGET_LS1043ARDB
1611         bool "Support ls1043ardb"
1612         select ARCH_LS1043A
1613         select ARM64
1614         select ARMV8_MULTIENTRY
1615         select ARCH_SUPPORT_TFABOOT
1616         select BOARD_EARLY_INIT_F
1617         select BOARD_LATE_INIT
1618         select SUPPORT_SPL
1619         select FSL_DSPI if !SPL_NO_DSPI
1620         select DM_SPI_FLASH if FSL_DSPI
1621         select GPIO_EXTRA_HEADER
1622         help
1623           Support for Freescale LS1043ARDB platform.
1624
1625 config TARGET_LS1046AQDS
1626         bool "Support ls1046aqds"
1627         select ARCH_LS1046A
1628         select ARM64
1629         select ARMV8_MULTIENTRY
1630         select ARCH_SUPPORT_TFABOOT
1631         select BOARD_EARLY_INIT_F
1632         select BOARD_LATE_INIT
1633         select DM_SPI_FLASH if DM_SPI
1634         select SUPPORT_SPL
1635         select FSL_DDR_BIST if !SPL
1636         select FSL_DDR_INTERACTIVE  if !SPL
1637         select FSL_DDR_INTERACTIVE if !SPL
1638         select GPIO_EXTRA_HEADER
1639         imply SCSI
1640         help
1641           Support for Freescale LS1046AQDS platform.
1642           The LS1046A Development System (QDS) is a high-performance
1643           development platform that supports the QorIQ LS1046A
1644           Layerscape Architecture processor.
1645
1646 config TARGET_LS1046ARDB
1647         bool "Support ls1046ardb"
1648         select ARCH_LS1046A
1649         select ARM64
1650         select ARMV8_MULTIENTRY
1651         select ARCH_SUPPORT_TFABOOT
1652         select BOARD_EARLY_INIT_F
1653         select BOARD_LATE_INIT
1654         select DM_SPI_FLASH if DM_SPI
1655         select POWER_MC34VR500
1656         select SUPPORT_SPL
1657         select FSL_DDR_BIST
1658         select FSL_DDR_INTERACTIVE if !SPL
1659         select GPIO_EXTRA_HEADER
1660         imply SCSI
1661         help
1662           Support for Freescale LS1046ARDB platform.
1663           The LS1046A Reference Design Board (RDB) is a high-performance
1664           development platform that supports the QorIQ LS1046A
1665           Layerscape Architecture processor.
1666
1667 config TARGET_LS1046AFRWY
1668         bool "Support ls1046afrwy"
1669         select ARCH_LS1046A
1670         select ARM64
1671         select ARMV8_MULTIENTRY
1672         select ARCH_SUPPORT_TFABOOT
1673         select BOARD_EARLY_INIT_F
1674         select BOARD_LATE_INIT
1675         select DM_SPI_FLASH if DM_SPI
1676         select GPIO_EXTRA_HEADER
1677         imply SCSI
1678         help
1679           Support for Freescale LS1046AFRWY platform.
1680           The LS1046A Freeway Board (FRWY) is a high-performance
1681           development platform that supports the QorIQ LS1046A
1682           Layerscape Architecture processor.
1683
1684 config TARGET_SL28
1685         bool "Support sl28"
1686         select ARCH_LS1028A
1687         select ARM64
1688         select ARMV8_MULTIENTRY
1689         select SUPPORT_SPL
1690         select BINMAN
1691         select DM
1692         select DM_GPIO
1693         select DM_I2C
1694         select DM_MMC
1695         select DM_SPI_FLASH
1696         select DM_ETH
1697         select DM_MDIO
1698         select DM_PCI
1699         select DM_RNG
1700         select DM_RTC
1701         select DM_SCSI
1702         select DM_SERIAL
1703         select DM_SPI
1704         select GPIO_EXTRA_HEADER
1705         select SPL_DM if SPL
1706         select SPL_DM_SPI if SPL
1707         select SPL_DM_SPI_FLASH if SPL
1708         select SPL_DM_I2C if SPL
1709         select SPL_DM_MMC if SPL
1710         select SPL_DM_SERIAL if SPL
1711         help
1712           Support for Kontron SMARC-sAL28 board.
1713
1714 config TARGET_COLIBRI_PXA270
1715         bool "Support colibri_pxa270"
1716         select CPU_PXA
1717         select GPIO_EXTRA_HEADER
1718
1719 config ARCH_UNIPHIER
1720         bool "Socionext UniPhier SoCs"
1721         select BOARD_LATE_INIT
1722         select DM
1723         select DM_ETH
1724         select DM_GPIO
1725         select DM_I2C
1726         select DM_MMC
1727         select DM_MTD
1728         select DM_RESET
1729         select DM_SERIAL
1730         select OF_BOARD_SETUP
1731         select OF_CONTROL
1732         select OF_LIBFDT
1733         select PINCTRL
1734         select SPL_BOARD_INIT if SPL
1735         select SPL_DM if SPL
1736         select SPL_LIBCOMMON_SUPPORT if SPL
1737         select SPL_LIBGENERIC_SUPPORT if SPL
1738         select SPL_OF_CONTROL if SPL
1739         select SPL_PINCTRL if SPL
1740         select SUPPORT_SPL
1741         imply CMD_DM
1742         imply DISTRO_DEFAULTS
1743         imply FAT_WRITE
1744         help
1745           Support for UniPhier SoC family developed by Socionext Inc.
1746           (formerly, System LSI Business Division of Panasonic Corporation)
1747
1748 config ARCH_SYNQUACER
1749         bool "Socionext SynQuacer SoCs"
1750         select ARM64
1751         select DM
1752         select GIC_V3
1753         select PSCI_RESET
1754         select SYSRESET
1755         select SYSRESET_PSCI
1756         select OF_CONTROL
1757         help
1758           Support for SynQuacer SoC family developed by Socionext Inc.
1759           This SoC is used on 96boards EE DeveloperBox.
1760
1761 config ARCH_STM32
1762         bool "Support STMicroelectronics STM32 MCU with cortex M"
1763         select CPU_V7M
1764         select DM
1765         select DM_SERIAL
1766         select GPIO_EXTRA_HEADER
1767         imply CMD_DM
1768
1769 config ARCH_STI
1770         bool "Support STMicrolectronics SoCs"
1771         select BLK
1772         select CPU_V7A
1773         select DM
1774         select DM_MMC
1775         select DM_RESET
1776         select DM_SERIAL
1777         imply CMD_DM
1778         help
1779           Support for STMicroelectronics STiH407/10 SoC family.
1780           This SoC is used on Linaro 96Board STiH410-B2260
1781
1782 config ARCH_STM32MP
1783         bool "Support STMicroelectronics STM32MP Socs with cortex A"
1784         select ARCH_MISC_INIT
1785         select ARCH_SUPPORT_TFABOOT
1786         select BOARD_LATE_INIT
1787         select CLK
1788         select DM
1789         select DM_GPIO
1790         select DM_RESET
1791         select DM_SERIAL
1792         select GPIO_EXTRA_HEADER
1793         select MISC
1794         select OF_CONTROL
1795         select OF_LIBFDT
1796         select OF_SYSTEM_SETUP
1797         select PINCTRL
1798         select REGMAP
1799         select SUPPORT_SPL
1800         select SYSCON
1801         select SYSRESET
1802         select SYS_THUMB_BUILD
1803         imply SPL_SYSRESET
1804         imply CMD_DM
1805         imply CMD_POWEROFF
1806         imply OF_LIBFDT_OVERLAY
1807         imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1808         imply USE_PREBOOT
1809         help
1810           Support for STM32MP SoC family developed by STMicroelectronics,
1811           MPUs based on ARM cortex A core
1812           U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
1813           FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
1814           chain.
1815           SPL is the unsecure FSBL for the basic boot chain.
1816
1817 config ARCH_ROCKCHIP
1818         bool "Support Rockchip SoCs"
1819         select BLK
1820         select BINMAN if SPL_OPTEE || (SPL && !ARM64)
1821         select DM
1822         select DM_GPIO
1823         select DM_I2C
1824         select DM_MMC
1825         select DM_PWM
1826         select DM_REGULATOR
1827         select DM_SERIAL
1828         select DM_SPI
1829         select DM_SPI_FLASH
1830         select ENABLE_ARM_SOC_BOOT0_HOOK
1831         select OF_CONTROL
1832         select SPI
1833         select SPL_DM if SPL
1834         select SPL_DM_SPI if SPL
1835         select SPL_DM_SPI_FLASH if SPL
1836         select SYS_MALLOC_F
1837         select SYS_THUMB_BUILD if !ARM64
1838         imply ADC
1839         imply CMD_DM
1840         imply DEBUG_UART_BOARD_INIT
1841         imply DISTRO_DEFAULTS
1842         imply FAT_WRITE
1843         imply SARADC_ROCKCHIP
1844         imply SPL_SYSRESET
1845         imply SPL_SYS_MALLOC_SIMPLE
1846         imply SYS_NS16550
1847         imply TPL_SYSRESET
1848         imply USB_FUNCTION_FASTBOOT
1849
1850 config ARCH_OCTEONTX
1851         bool "Support OcteonTX SoCs"
1852         select CLK
1853         select DM
1854         select GPIO_EXTRA_HEADER
1855         select ARM64
1856         select OF_CONTROL
1857         select OF_LIVE
1858         select BOARD_LATE_INIT
1859         select SYS_CACHE_SHIFT_7
1860
1861 config ARCH_OCTEONTX2
1862         bool "Support OcteonTX2 SoCs"
1863         select CLK
1864         select DM
1865         select GPIO_EXTRA_HEADER
1866         select ARM64
1867         select OF_CONTROL
1868         select OF_LIVE
1869         select BOARD_LATE_INIT
1870         select SYS_CACHE_SHIFT_7
1871
1872 config TARGET_THUNDERX_88XX
1873         bool "Support ThunderX 88xx"
1874         select ARM64
1875         select GPIO_EXTRA_HEADER
1876         select OF_CONTROL
1877         select PL01X_SERIAL
1878         select SYS_CACHE_SHIFT_7
1879
1880 config ARCH_ASPEED
1881         bool "Support Aspeed SoCs"
1882         select DM
1883         select OF_CONTROL
1884         imply CMD_DM
1885
1886 config TARGET_DURIAN
1887         bool "Support Phytium Durian Platform"
1888         select ARM64
1889         select GPIO_EXTRA_HEADER
1890         help
1891           Support for durian platform.
1892           It has 2GB Sdram, uart and pcie.
1893
1894 config TARGET_PRESIDIO_ASIC
1895         bool "Support Cortina Presidio ASIC Platform"
1896         select ARM64
1897         select GICV2
1898
1899 config TARGET_XENGUEST_ARM64
1900         bool "Xen guest ARM64"
1901         select ARM64
1902         select XEN
1903         select OF_CONTROL
1904         select LINUX_KERNEL_IMAGE_HEADER
1905         select XEN_SERIAL
1906         select SSCANF
1907 endchoice
1908
1909 config ARCH_SUPPORT_TFABOOT
1910         bool
1911
1912 config TFABOOT
1913         bool "Support for booting from TF-A"
1914         depends on ARCH_SUPPORT_TFABOOT
1915         help
1916           Some platforms support the setup of secure registers (for instance
1917           for CPU errata handling) or provide secure services like PSCI.
1918           Those services could also be provided by other firmware parts
1919           like TF-A (Trusted Firmware for Cortex-A), in which case U-Boot
1920           does not need to (and cannot) execute this code.
1921           Enabling this option will make a U-Boot binary that is relying
1922           on other firmware layers to provide secure functionality.
1923
1924 config TI_SECURE_DEVICE
1925         bool "HS Device Type Support"
1926         depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1927         help
1928           If a high secure (HS) device type is being used, this config
1929           must be set. This option impacts various aspects of the
1930           build system (to create signed boot images that can be
1931           authenticated) and the code. See the doc/README.ti-secure
1932           file for further details.
1933
1934 if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
1935 config ISW_ENTRY_ADDR
1936         hex "Address in memory or XIP address of bootloader entry point"
1937         default 0x402F4000 if AM43XX
1938         default 0x402F0400 if AM33XX
1939         default 0x40301350 if OMAP54XX
1940         help
1941           After any reset, the boot ROM searches the boot media for a valid
1942           boot image. For non-XIP devices, the ROM then copies the image into
1943           internal memory. For all boot modes, after the ROM processes the
1944           boot image it eventually computes the entry point address depending
1945           on the device type (secure/non-secure), boot media (xip/non-xip) and
1946           image headers.
1947 endif
1948
1949 source "arch/arm/mach-aspeed/Kconfig"
1950
1951 source "arch/arm/mach-at91/Kconfig"
1952
1953 source "arch/arm/mach-bcm283x/Kconfig"
1954
1955 source "arch/arm/mach-bcmstb/Kconfig"
1956
1957 source "arch/arm/mach-davinci/Kconfig"
1958
1959 source "arch/arm/mach-exynos/Kconfig"
1960
1961 source "arch/arm/mach-highbank/Kconfig"
1962
1963 source "arch/arm/mach-integrator/Kconfig"
1964
1965 source "arch/arm/mach-ipq40xx/Kconfig"
1966
1967 source "arch/arm/mach-k3/Kconfig"
1968
1969 source "arch/arm/mach-keystone/Kconfig"
1970
1971 source "arch/arm/mach-kirkwood/Kconfig"
1972
1973 source "arch/arm/mach-lpc32xx/Kconfig"
1974
1975 source "arch/arm/mach-mvebu/Kconfig"
1976
1977 source "arch/arm/mach-octeontx/Kconfig"
1978
1979 source "arch/arm/mach-octeontx2/Kconfig"
1980
1981 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1982
1983 source "arch/arm/mach-imx/mx2/Kconfig"
1984
1985 source "arch/arm/mach-imx/mx3/Kconfig"
1986
1987 source "arch/arm/mach-imx/mx5/Kconfig"
1988
1989 source "arch/arm/mach-imx/mx6/Kconfig"
1990
1991 source "arch/arm/mach-imx/mx7/Kconfig"
1992
1993 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1994
1995 source "arch/arm/mach-imx/imx8/Kconfig"
1996
1997 source "arch/arm/mach-imx/imx8m/Kconfig"
1998
1999 source "arch/arm/mach-imx/imx8ulp/Kconfig"
2000
2001 source "arch/arm/mach-imx/imxrt/Kconfig"
2002
2003 source "arch/arm/mach-imx/mxs/Kconfig"
2004
2005 source "arch/arm/mach-omap2/Kconfig"
2006
2007 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
2008
2009 source "arch/arm/mach-orion5x/Kconfig"
2010
2011 source "arch/arm/mach-owl/Kconfig"
2012
2013 source "arch/arm/mach-rmobile/Kconfig"
2014
2015 source "arch/arm/mach-meson/Kconfig"
2016
2017 source "arch/arm/mach-mediatek/Kconfig"
2018
2019 source "arch/arm/mach-qemu/Kconfig"
2020
2021 source "arch/arm/mach-rockchip/Kconfig"
2022
2023 source "arch/arm/mach-s5pc1xx/Kconfig"
2024
2025 source "arch/arm/mach-snapdragon/Kconfig"
2026
2027 source "arch/arm/mach-socfpga/Kconfig"
2028
2029 source "arch/arm/mach-sti/Kconfig"
2030
2031 source "arch/arm/mach-stm32/Kconfig"
2032
2033 source "arch/arm/mach-stm32mp/Kconfig"
2034
2035 source "arch/arm/mach-sunxi/Kconfig"
2036
2037 source "arch/arm/mach-tegra/Kconfig"
2038
2039 source "arch/arm/mach-u8500/Kconfig"
2040
2041 source "arch/arm/mach-uniphier/Kconfig"
2042
2043 source "arch/arm/cpu/armv7/vf610/Kconfig"
2044
2045 source "arch/arm/mach-zynq/Kconfig"
2046
2047 source "arch/arm/mach-zynqmp/Kconfig"
2048
2049 source "arch/arm/mach-versal/Kconfig"
2050
2051 source "arch/arm/mach-zynqmp-r5/Kconfig"
2052
2053 source "arch/arm/cpu/armv7/Kconfig"
2054
2055 source "arch/arm/cpu/armv8/Kconfig"
2056
2057 source "arch/arm/mach-imx/Kconfig"
2058
2059 source "arch/arm/mach-nexell/Kconfig"
2060
2061 source "board/armltd/total_compute/Kconfig"
2062
2063 source "board/bosch/shc/Kconfig"
2064 source "board/bosch/guardian/Kconfig"
2065 source "board/CarMediaLab/flea3/Kconfig"
2066 source "board/Marvell/aspenite/Kconfig"
2067 source "board/Marvell/octeontx/Kconfig"
2068 source "board/Marvell/octeontx2/Kconfig"
2069 source "board/armltd/vexpress64/Kconfig"
2070 source "board/cortina/presidio-asic/Kconfig"
2071 source "board/broadcom/bcm963158/Kconfig"
2072 source "board/broadcom/bcm968360bg/Kconfig"
2073 source "board/broadcom/bcm968580xref/Kconfig"
2074 source "board/broadcom/bcmns3/Kconfig"
2075 source "board/cavium/thunderx/Kconfig"
2076 source "board/eets/pdu001/Kconfig"
2077 source "board/emulation/qemu-arm/Kconfig"
2078 source "board/freescale/ls2080aqds/Kconfig"
2079 source "board/freescale/ls2080ardb/Kconfig"
2080 source "board/freescale/ls1088a/Kconfig"
2081 source "board/freescale/ls1028a/Kconfig"
2082 source "board/freescale/ls1021aqds/Kconfig"
2083 source "board/freescale/ls1043aqds/Kconfig"
2084 source "board/freescale/ls1021atwr/Kconfig"
2085 source "board/freescale/ls1021atsn/Kconfig"
2086 source "board/freescale/ls1021aiot/Kconfig"
2087 source "board/freescale/ls1046aqds/Kconfig"
2088 source "board/freescale/ls1043ardb/Kconfig"
2089 source "board/freescale/ls1046ardb/Kconfig"
2090 source "board/freescale/ls1046afrwy/Kconfig"
2091 source "board/freescale/ls1012aqds/Kconfig"
2092 source "board/freescale/ls1012ardb/Kconfig"
2093 source "board/freescale/ls1012afrdm/Kconfig"
2094 source "board/freescale/lx2160a/Kconfig"
2095 source "board/grinn/chiliboard/Kconfig"
2096 source "board/hisilicon/hikey/Kconfig"
2097 source "board/hisilicon/hikey960/Kconfig"
2098 source "board/hisilicon/poplar/Kconfig"
2099 source "board/isee/igep003x/Kconfig"
2100 source "board/kontron/sl28/Kconfig"
2101 source "board/myir/mys_6ulx/Kconfig"
2102 source "board/seeed/npi_imx6ull/Kconfig"
2103 source "board/socionext/developerbox/Kconfig"
2104 source "board/st/stv0991/Kconfig"
2105 source "board/tcl/sl50/Kconfig"
2106 source "board/toradex/colibri_pxa270/Kconfig"
2107 source "board/variscite/dart_6ul/Kconfig"
2108 source "board/vscom/baltos/Kconfig"
2109 source "board/phytium/durian/Kconfig"
2110 source "board/xen/xenguest_arm64/Kconfig"
2111 source "board/keymile/Kconfig"
2112
2113 source "arch/arm/Kconfig.debug"
2114
2115 endmenu
2116
2117 config SPL_LDSCRIPT
2118         default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
2119         default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
2120         default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64