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