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