Convert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig
[oweals/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 DMA_ADDR_T_64BIT
13         bool
14         default y if ARM64
15
16 config HAS_VBAR
17         bool
18
19 config HAS_THUMB2
20         bool
21
22 # Used for compatibility with asm files copied from the kernel
23 config ARM_ASM_UNIFIED
24         bool
25         default y
26
27 # Used for compatibility with asm files copied from the kernel
28 config THUMB2_KERNEL
29         bool
30
31 # If set, the workarounds for these ARM errata are applied early during U-Boot
32 # startup. Note that in general these options force the workarounds to be
33 # applied; no CPU-type/version detection exists, unlike the similar options in
34 # the Linux kernel. Do not set these options unless they apply!  Also note that
35 # the following can be machine specific errata. These do have ability to
36 # provide rudimentary version and machine specific checks, but expect no
37 # product checks:
38 # CONFIG_ARM_ERRATA_430973
39 # CONFIG_ARM_ERRATA_454179
40 # CONFIG_ARM_ERRATA_621766
41 # CONFIG_ARM_ERRATA_798870
42 # CONFIG_ARM_ERRATA_801819
43 config ARM_ERRATA_430973
44         bool
45
46 config ARM_ERRATA_454179
47         bool
48
49 config ARM_ERRATA_621766
50         bool
51
52 config ARM_ERRATA_716044
53         bool
54
55 config ARM_ERRATA_725233
56         bool
57
58 config ARM_ERRATA_742230
59         bool
60
61 config ARM_ERRATA_743622
62         bool
63
64 config ARM_ERRATA_751472
65         bool
66
67 config ARM_ERRATA_761320
68         bool
69
70 config ARM_ERRATA_773022
71         bool
72
73 config ARM_ERRATA_774769
74         bool
75
76 config ARM_ERRATA_794072
77         bool
78
79 config ARM_ERRATA_798870
80         bool
81
82 config ARM_ERRATA_801819
83         bool
84
85 config ARM_ERRATA_826974
86         bool
87
88 config ARM_ERRATA_828024
89         bool
90
91 config ARM_ERRATA_829520
92         bool
93
94 config ARM_ERRATA_833069
95         bool
96
97 config ARM_ERRATA_833471
98         bool
99
100 config ARM_ERRATA_852421
101         bool
102
103 config ARM_ERRATA_852423
104         bool
105
106 config CPU_ARM720T
107         bool
108         select SYS_CACHE_SHIFT_5
109
110 config CPU_ARM920T
111         bool
112         select SYS_CACHE_SHIFT_5
113
114 config CPU_ARM926EJS
115         bool
116         select SYS_CACHE_SHIFT_5
117
118 config CPU_ARM946ES
119         bool
120         select SYS_CACHE_SHIFT_5
121
122 config CPU_ARM1136
123         bool
124         select SYS_CACHE_SHIFT_5
125
126 config CPU_ARM1176
127         bool
128         select HAS_VBAR
129         select SYS_CACHE_SHIFT_5
130
131 config CPU_V7
132         bool
133         select HAS_VBAR
134         select HAS_THUMB2
135         select SYS_CACHE_SHIFT_6
136
137 config CPU_V7M
138         bool
139         select HAS_THUMB2
140         select THUMB2_KERNEL
141         select SYS_CACHE_SHIFT_5
142
143 config CPU_PXA
144         bool
145         select SYS_CACHE_SHIFT_5
146
147 config CPU_SA1100
148         bool
149         select SYS_CACHE_SHIFT_5
150
151 config SYS_CPU
152         default "arm720t" if CPU_ARM720T
153         default "arm920t" if CPU_ARM920T
154         default "arm926ejs" if CPU_ARM926EJS
155         default "arm946es" if CPU_ARM946ES
156         default "arm1136" if CPU_ARM1136
157         default "arm1176" if CPU_ARM1176
158         default "armv7" if CPU_V7
159         default "armv7m" if CPU_V7M
160         default "pxa" if CPU_PXA
161         default "sa1100" if CPU_SA1100
162         default "armv8" if ARM64
163
164 config SYS_ARM_ARCH
165         int
166         default 4 if CPU_ARM720T
167         default 4 if CPU_ARM920T
168         default 5 if CPU_ARM926EJS
169         default 5 if CPU_ARM946ES
170         default 6 if CPU_ARM1136
171         default 6 if CPU_ARM1176
172         default 7 if CPU_V7
173         default 7 if CPU_V7M
174         default 5 if CPU_PXA
175         default 4 if CPU_SA1100
176         default 8 if ARM64
177
178 config SYS_CACHE_SHIFT_5
179         bool
180
181 config SYS_CACHE_SHIFT_6
182         bool
183
184 config SYS_CACHE_SHIFT_7
185         bool
186
187 config SYS_CACHELINE_SIZE
188         int
189         default 128 if SYS_CACHE_SHIFT_7
190         default 64 if SYS_CACHE_SHIFT_6
191         default 32 if SYS_CACHE_SHIFT_5
192
193 config ARM_SMCCC
194         bool "Support for ARM SMC Calling Convention (SMCCC)"
195         depends on CPU_V7 || ARM64
196         select ARM_PSCI_FW
197         help
198           Say Y here if you want to enable ARM SMC Calling Convention.
199           This should be enabled if U-Boot needs to communicate with system
200           firmware (for example, PSCI) according to SMCCC.
201
202 config SEMIHOSTING
203         bool "support boot from semihosting"
204         help
205           In emulated environments, semihosting is a way for
206           the hosted environment to call out to the emulator to
207           retrieve files from the host machine.
208
209 config SYS_THUMB_BUILD
210         bool "Build U-Boot using the Thumb instruction set"
211         depends on !ARM64
212         help
213            Use this flag to build U-Boot using the Thumb instruction set for
214            ARM architectures. Thumb instruction set provides better code
215            density. For ARM architectures that support Thumb2 this flag will
216            result in Thumb2 code generated by GCC.
217
218 config SPL_SYS_THUMB_BUILD
219         bool "Build SPL using the Thumb instruction set"
220         default y if SYS_THUMB_BUILD
221         depends on !ARM64
222         help
223            Use this flag to build SPL using the Thumb instruction set for
224            ARM architectures. Thumb instruction set provides better code
225            density. For ARM architectures that support Thumb2 this flag will
226            result in Thumb2 code generated by GCC.
227
228 config SYS_L2CACHE_OFF
229         bool "L2cache off"
230         help
231           If SoC does not support L2CACHE or one do not want to enable
232           L2CACHE, choose this option.
233
234 config ENABLE_ARM_SOC_BOOT0_HOOK
235         bool "prepare BOOT0 header"
236         help
237           If the SoC's BOOT0 requires a header area filled with (magic)
238           values, then choose this option, and create a define called
239           ARM_SOC_BOOT0_HOOK which contains the required assembler
240           preprocessor code.
241
242 config ARM_CORTEX_CPU_IS_UP
243         bool
244         default n
245
246 config USE_ARCH_MEMCPY
247         bool "Use an assembly optimized implementation of memcpy"
248         default y
249         depends on !ARM64
250         help
251           Enable the generation of an optimized version of memcpy.
252           Such implementation may be faster under some conditions
253           but may increase the binary size.
254
255 config SPL_USE_ARCH_MEMCPY
256         bool "Use an assembly optimized implementation of memcpy for SPL"
257         default y if USE_ARCH_MEMCPY
258         depends on !ARM64
259         help
260           Enable the generation of an optimized version of memcpy.
261           Such implementation may be faster under some conditions
262           but may increase the binary size.
263
264 config USE_ARCH_MEMSET
265         bool "Use an assembly optimized implementation of memset"
266         default y
267         depends on !ARM64
268         help
269           Enable the generation of an optimized version of memset.
270           Such implementation may be faster under some conditions
271           but may increase the binary size.
272
273 config SPL_USE_ARCH_MEMSET
274         bool "Use an assembly optimized implementation of memset for SPL"
275         default y if USE_ARCH_MEMSET
276         depends on !ARM64
277         help
278           Enable the generation of an optimized version of memset.
279           Such implementation may be faster under some conditions
280           but may increase the binary size.
281
282 config ARM64_SUPPORT_AARCH32
283         bool "ARM64 system support AArch32 execution state"
284         default y if ARM64 && !TARGET_THUNDERX_88XX
285         help
286           This ARM64 system supports AArch32 execution state.
287
288 choice
289         prompt "Target select"
290         default TARGET_HIKEY
291
292 config ARCH_AT91
293         bool "Atmel AT91"
294         select SPL_BOARD_INIT if SPL
295
296 config TARGET_EDB93XX
297         bool "Support edb93xx"
298         select CPU_ARM920T
299
300 config TARGET_ASPENITE
301         bool "Support aspenite"
302         select CPU_ARM926EJS
303
304 config TARGET_GPLUGD
305         bool "Support gplugd"
306         select CPU_ARM926EJS
307
308 config ARCH_DAVINCI
309         bool "TI DaVinci"
310         select CPU_ARM926EJS
311         help
312           Support for TI's DaVinci platform.
313
314 config KIRKWOOD
315         bool "Marvell Kirkwood"
316         select CPU_ARM926EJS
317         select BOARD_EARLY_INIT_F
318         select ARCH_MISC_INIT
319
320 config ARCH_MVEBU
321         bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
322         select OF_CONTROL
323         select OF_SEPARATE
324         select DM
325         select DM_ETH
326         select DM_SERIAL
327         select DM_SPI
328         select DM_SPI_FLASH
329
330 config TARGET_DEVKIT3250
331         bool "Support devkit3250"
332         select CPU_ARM926EJS
333         select SUPPORT_SPL
334
335 config TARGET_WORK_92105
336         bool "Support work_92105"
337         select CPU_ARM926EJS
338         select SUPPORT_SPL
339
340 config TARGET_MX25PDK
341         bool "Support mx25pdk"
342         select BOARD_LATE_INIT
343         select CPU_ARM926EJS
344         select BOARD_EARLY_INIT_F
345
346 config TARGET_ZMX25
347         bool "Support zmx25"
348         select BOARD_LATE_INIT
349         select CPU_ARM926EJS
350
351 config TARGET_APF27
352         bool "Support apf27"
353         select CPU_ARM926EJS
354         select SUPPORT_SPL
355
356 config TARGET_APX4DEVKIT
357         bool "Support apx4devkit"
358         select CPU_ARM926EJS
359         select SUPPORT_SPL
360
361 config TARGET_XFI3
362         bool "Support xfi3"
363         select CPU_ARM926EJS
364         select SUPPORT_SPL
365
366 config TARGET_M28EVK
367         bool "Support m28evk"
368         select CPU_ARM926EJS
369         select SUPPORT_SPL
370
371 config TARGET_MX23EVK
372         bool "Support mx23evk"
373         select CPU_ARM926EJS
374         select SUPPORT_SPL
375         select BOARD_EARLY_INIT_F
376
377 config TARGET_MX28EVK
378         bool "Support mx28evk"
379         select CPU_ARM926EJS
380         select SUPPORT_SPL
381         select BOARD_EARLY_INIT_F
382
383 config TARGET_MX23_OLINUXINO
384         bool "Support mx23_olinuxino"
385         select CPU_ARM926EJS
386         select SUPPORT_SPL
387         select BOARD_EARLY_INIT_F
388
389 config TARGET_BG0900
390         bool "Support bg0900"
391         select CPU_ARM926EJS
392         select SUPPORT_SPL
393
394 config TARGET_SANSA_FUZE_PLUS
395         bool "Support sansa_fuze_plus"
396         select CPU_ARM926EJS
397         select SUPPORT_SPL
398
399 config TARGET_SC_SPS_1
400         bool "Support sc_sps_1"
401         select CPU_ARM926EJS
402         select SUPPORT_SPL
403
404 config ORION5X
405         bool "Marvell Orion"
406         select CPU_ARM926EJS
407
408 config TARGET_SPEAR300
409         bool "Support spear300"
410         select CPU_ARM926EJS
411         select BOARD_EARLY_INIT_F
412
413 config TARGET_SPEAR310
414         bool "Support spear310"
415         select CPU_ARM926EJS
416         select BOARD_EARLY_INIT_F
417
418 config TARGET_SPEAR320
419         bool "Support spear320"
420         select CPU_ARM926EJS
421         select BOARD_EARLY_INIT_F
422
423 config TARGET_SPEAR600
424         bool "Support spear600"
425         select CPU_ARM926EJS
426         select BOARD_EARLY_INIT_F
427
428 config TARGET_STV0991
429         bool "Support stv0991"
430         select CPU_V7
431         select DM
432         select DM_SERIAL
433         select DM_SPI
434         select DM_SPI_FLASH
435         select SPI_FLASH
436
437 config TARGET_X600
438         bool "Support x600"
439         select BOARD_LATE_INIT
440         select CPU_ARM926EJS
441         select SUPPORT_SPL
442
443 config TARGET_IMX31_PHYCORE
444         bool "Support imx31_phycore_eet"
445         select CPU_ARM1136
446         select BOARD_EARLY_INIT_F
447
448 config TARGET_IMX31_PHYCORE_EET
449         bool "Support imx31_phycore_eet"
450         select BOARD_LATE_INIT
451         select CPU_ARM1136
452         select BOARD_EARLY_INIT_F
453
454 config TARGET_MX31ADS
455         bool "Support mx31ads"
456         select CPU_ARM1136
457         select BOARD_EARLY_INIT_F
458
459 config TARGET_MX31PDK
460         bool "Support mx31pdk"
461         select BOARD_LATE_INIT
462         select CPU_ARM1136
463         select SUPPORT_SPL
464         select BOARD_EARLY_INIT_F
465
466 config TARGET_WOODBURN
467         bool "Support woodburn"
468         select CPU_ARM1136
469
470 config TARGET_WOODBURN_SD
471         bool "Support woodburn_sd"
472         select CPU_ARM1136
473         select SUPPORT_SPL
474
475 config TARGET_FLEA3
476         bool "Support flea3"
477         select CPU_ARM1136
478
479 config TARGET_MX35PDK
480         bool "Support mx35pdk"
481         select BOARD_LATE_INIT
482         select CPU_ARM1136
483
484 config ARCH_BCM283X
485         bool "Broadcom BCM283X family"
486         select DM
487         select DM_SERIAL
488         select DM_GPIO
489         select OF_CONTROL
490         imply FAT_WRITE
491
492 config TARGET_VEXPRESS_CA15_TC2
493         bool "Support vexpress_ca15_tc2"
494         select CPU_V7
495         select CPU_V7_HAS_NONSEC
496         select CPU_V7_HAS_VIRT
497
498 config TARGET_VEXPRESS_CA5X2
499         bool "Support vexpress_ca5x2"
500         select CPU_V7
501
502 config TARGET_VEXPRESS_CA9X4
503         bool "Support vexpress_ca9x4"
504         select CPU_V7
505
506 config TARGET_BCM23550_W1D
507         bool "Support bcm23550_w1d"
508         select CPU_V7
509         imply CRC32_VERIFY
510         imply FAT_WRITE
511
512 config TARGET_BCM28155_AP
513         bool "Support bcm28155_ap"
514         select CPU_V7
515         imply CRC32_VERIFY
516         imply FAT_WRITE
517
518 config TARGET_BCMCYGNUS
519         bool "Support bcmcygnus"
520         select CPU_V7
521         imply CRC32_VERIFY
522         imply CMD_HASH
523         imply FAT_WRITE
524         imply HASH_VERIFY
525
526 config TARGET_BCMNSP
527         bool "Support bcmnsp"
528         select CPU_V7
529
530 config TARGET_BCMNS2
531         bool "Support Broadcom Northstar2"
532         select ARM64
533         help
534           Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
535           ARMv8 Cortex-A57 processors targeting a broad range of networking
536           applications
537
538 config ARCH_EXYNOS
539         bool "Samsung EXYNOS"
540         select DM
541         select DM_I2C
542         select DM_SPI_FLASH
543         select DM_SERIAL
544         select DM_SPI
545         select DM_GPIO
546         select DM_KEYBOARD
547         imply FAT_WRITE
548
549 config ARCH_S5PC1XX
550         bool "Samsung S5PC1XX"
551         select CPU_V7
552         select DM
553         select DM_SERIAL
554         select DM_GPIO
555         select DM_I2C
556
557 config ARCH_HIGHBANK
558         bool "Calxeda Highbank"
559         select CPU_V7
560
561 config ARCH_INTEGRATOR
562         bool "ARM Ltd. Integrator family"
563         select DM
564         select DM_SERIAL
565
566 config ARCH_KEYSTONE
567         bool "TI Keystone"
568         select CPU_V7
569         select SUPPORT_SPL
570         select SYS_THUMB_BUILD
571         select CMD_POWEROFF
572         imply CMD_MTDPARTS
573         imply FIT
574
575 config ARCH_OMAP2PLUS
576         bool "TI OMAP2+"
577         select CPU_V7
578         select SPL_BOARD_INIT if SPL
579         select SUPPORT_SPL
580         imply FIT
581
582 config ARCH_MESON
583         bool "Amlogic Meson"
584         help
585           Support for the Meson SoC family developed by Amlogic Inc.,
586           targeted at media players and tablet computers. We currently
587           support the S905 (GXBaby) 64-bit SoC.
588
589 config ARCH_MX7ULP
590         bool "NXP MX7ULP"
591         select CPU_V7
592         select ROM_UNIFIED_SECTIONS
593
594 config ARCH_MX7
595         bool "Freescale MX7"
596         select CPU_V7
597         select SYS_FSL_HAS_SEC if SECURE_BOOT
598         select SYS_FSL_SEC_COMPAT_4
599         select SYS_FSL_SEC_LE
600         select BOARD_EARLY_INIT_F
601         select ARCH_MISC_INIT
602
603 config ARCH_MX6
604         bool "Freescale MX6"
605         select CPU_V7
606         select SYS_FSL_HAS_SEC if SECURE_BOOT
607         select SYS_FSL_SEC_COMPAT_4
608         select SYS_FSL_SEC_LE
609         select SYS_THUMB_BUILD if SPL
610
611 config ARCH_MX5
612         bool "Freescale MX5"
613         select CPU_V7
614         select BOARD_EARLY_INIT_F
615
616 config ARCH_RMOBILE
617         bool "Renesas ARM SoCs"
618         select DM
619         select DM_SERIAL
620         select BOARD_EARLY_INIT_F
621         imply FAT_WRITE
622         imply SYS_THUMB_BUILD
623
624 config TARGET_S32V234EVB
625         bool "Support s32v234evb"
626         select ARM64
627         select SYS_FSL_ERRATUM_ESDHC111
628
629 config ARCH_SNAPDRAGON
630         bool "Qualcomm Snapdragon SoCs"
631         select ARM64
632         select DM
633         select DM_GPIO
634         select DM_SERIAL
635         select SPMI
636         select OF_CONTROL
637         select OF_SEPARATE
638
639 config ARCH_SOCFPGA
640         bool "Altera SOCFPGA family"
641         select CPU_V7
642         select SUPPORT_SPL
643         select OF_CONTROL
644         select SPL_OF_CONTROL
645         select DM
646         select DM_SPI_FLASH
647         select DM_SPI
648         select ENABLE_ARM_SOC_BOOT0_HOOK
649         select ARCH_EARLY_INIT_R
650         select ARCH_MISC_INIT
651         select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
652         select SYS_THUMB_BUILD
653         imply CMD_MTDPARTS
654         imply CRC32_VERIFY
655         imply FAT_WRITE
656
657 config ARCH_SUNXI
658         bool "Support sunxi (Allwinner) SoCs"
659         select CMD_GPIO
660         select CMD_MMC if MMC
661         select CMD_USB if DISTRO_DEFAULTS
662         select DM
663         select DM_ETH
664         select DM_GPIO
665         select DM_KEYBOARD
666         select DM_SERIAL
667         select DM_USB if DISTRO_DEFAULTS
668         select OF_BOARD_SETUP
669         select OF_CONTROL
670         select OF_SEPARATE
671         select SPL_STACK_R if SPL
672         select SPL_SYS_MALLOC_SIMPLE if SPL
673         select SYS_NS16550
674         select SPL_SYS_THUMB_BUILD if !ARM64
675         select USB if DISTRO_DEFAULTS
676         select USB_STORAGE if DISTRO_DEFAULTS
677         select USB_KEYBOARD if DISTRO_DEFAULTS
678         select USE_TINY_PRINTF
679         imply FAT_WRITE
680         imply PRE_CONSOLE_BUFFER
681         imply SPL_GPIO_SUPPORT
682         imply SPL_LIBCOMMON_SUPPORT
683         imply SPL_LIBDISK_SUPPORT
684         imply SPL_LIBGENERIC_SUPPORT
685         imply SPL_MMC_SUPPORT if MMC
686         imply SPL_POWER_SUPPORT
687         imply SPL_SERIAL_SUPPORT
688
689 config TARGET_TS4600
690         bool "Support TS4600"
691         select CPU_ARM926EJS
692         select SUPPORT_SPL
693
694 config ARCH_VF610
695         bool "Freescale Vybrid"
696         select CPU_V7
697         select SYS_FSL_ERRATUM_ESDHC111
698         imply CMD_MTDPARTS
699
700 config ARCH_ZYNQ
701         bool "Xilinx Zynq Platform"
702         select BOARD_LATE_INIT
703         select CPU_V7
704         select SUPPORT_SPL
705         select OF_CONTROL
706         select SPL_BOARD_INIT if SPL
707         select SPL_OF_CONTROL if SPL
708         select DM
709         select DM_ETH
710         select DM_GPIO
711         select SPL_DM if SPL
712         select DM_MMC
713         select DM_MMC_OPS
714         select DM_SPI
715         select DM_SERIAL
716         select DM_SPI_FLASH
717         select SPL_SEPARATE_BSS if SPL
718         select DM_USB if USB
719         select BLK
720         select CLK
721         select SPL_CLK
722         select CLK_ZYNQ
723         imply CMD_CLK
724         imply FAT_WRITE
725
726 config ARCH_ZYNQMP
727         bool "Support Xilinx ZynqMP Platform"
728         select ARM64
729         select BOARD_LATE_INIT
730         select DM
731         select OF_CONTROL
732         select DM_SERIAL
733         select SUPPORT_SPL
734         select CLK
735         select SPL_BOARD_INIT if SPL
736         select SPL_CLK
737         select DM_USB if USB
738         imply FAT_WRITE
739
740 config TEGRA
741         bool "NVIDIA Tegra"
742         imply FAT_WRITE
743
744 config TARGET_VEXPRESS64_AEMV8A
745         bool "Support vexpress_aemv8a"
746         select ARM64
747
748 config TARGET_VEXPRESS64_BASE_FVP
749         bool "Support Versatile Express ARMv8a FVP BASE model"
750         select ARM64
751         select SEMIHOSTING
752
753 config TARGET_VEXPRESS64_BASE_FVP_DRAM
754         bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
755         select ARM64
756         help
757           This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
758           the default config to allow the user to load the images directly into
759           DRAM using model parameters rather than by using semi-hosting to load
760           the files from the host filesystem.
761
762 config TARGET_VEXPRESS64_JUNO
763         bool "Support Versatile Express Juno Development Platform"
764         select ARM64
765
766 config TARGET_LS2080A_EMU
767         bool "Support ls2080a_emu"
768         select ARCH_LS2080A
769         select ARM64
770         select ARMV8_MULTIENTRY
771         select ARCH_MISC_INIT
772         help
773           Support for Freescale LS2080A_EMU platform
774           The LS2080A Development System (EMULATOR) is a pre silicon
775           development platform that supports the QorIQ LS2080A
776           Layerscape Architecture processor.
777
778 config TARGET_LS2080A_SIMU
779         bool "Support ls2080a_simu"
780         select ARCH_LS2080A
781         select ARM64
782         select ARMV8_MULTIENTRY
783         select ARCH_MISC_INIT
784         help
785           Support for Freescale LS2080A_SIMU platform
786           The LS2080A Development System (QDS) is a pre silicon
787           development platform that supports the QorIQ LS2080A
788           Layerscape Architecture processor.
789
790 config TARGET_LS2080AQDS
791         bool "Support ls2080aqds"
792         select ARCH_LS2080A
793         select ARM64
794         select ARMV8_MULTIENTRY
795         select BOARD_LATE_INIT
796         select SUPPORT_SPL
797         select ARCH_MISC_INIT
798         imply SCSI
799         help
800           Support for Freescale LS2080AQDS platform
801           The LS2080A Development System (QDS) is a high-performance
802           development platform that supports the QorIQ LS2080A
803           Layerscape Architecture processor.
804
805 config TARGET_LS2080ARDB
806         bool "Support ls2080ardb"
807         select ARCH_LS2080A
808         select ARM64
809         select ARMV8_MULTIENTRY
810         select BOARD_LATE_INIT
811         select SUPPORT_SPL
812         select ARCH_MISC_INIT
813         imply SCSI
814         help
815           Support for Freescale LS2080ARDB platform.
816           The LS2080A Reference design board (RDB) is a high-performance
817           development platform that supports the QorIQ LS2080A
818           Layerscape Architecture processor.
819
820 config TARGET_LS2081ARDB
821         bool "Support ls2081ardb"
822         select ARCH_LS2080A
823         select ARM64
824         select ARMV8_MULTIENTRY
825         select BOARD_LATE_INIT
826         select SUPPORT_SPL
827         select ARCH_MISC_INIT
828         help
829           Support for Freescale LS2081ARDB platform.
830           The LS2081A Reference design board (RDB) is a high-performance
831           development platform that supports the QorIQ LS2081A/LS2041A
832           Layerscape Architecture processor.
833
834 config TARGET_HIKEY
835         bool "Support HiKey 96boards Consumer Edition Platform"
836         select ARM64
837         select DM
838         select DM_GPIO
839         select DM_SERIAL
840         select OF_CONTROL
841           help
842           Support for HiKey 96boards platform. It features a HI6220
843           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
844
845 config TARGET_POPLAR
846         bool "Support Poplar 96boards Enterprise Edition Platform"
847         select ARM64
848         select DM
849         select OF_CONTROL
850         select DM_SERIAL
851         select DM_USB
852           help
853           Support for Poplar 96boards EE platform. It features a HI3798cv200
854           SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
855           making it capable of running any commercial set-top solution based on
856           Linux or Android.
857
858 config TARGET_LS1012AQDS
859         bool "Support ls1012aqds"
860         select ARCH_LS1012A
861         select ARM64
862         select BOARD_LATE_INIT
863         help
864           Support for Freescale LS1012AQDS platform.
865           The LS1012A Development System (QDS) is a high-performance
866           development platform that supports the QorIQ LS1012A
867           Layerscape Architecture processor.
868
869 config TARGET_LS1012ARDB
870         bool "Support ls1012ardb"
871         select ARCH_LS1012A
872         select ARM64
873         select BOARD_LATE_INIT
874         imply SCSI
875         help
876           Support for Freescale LS1012ARDB platform.
877           The LS1012A Reference design board (RDB) is a high-performance
878           development platform that supports the QorIQ LS1012A
879           Layerscape Architecture processor.
880
881 config TARGET_LS1012AFRDM
882         bool "Support ls1012afrdm"
883         select ARCH_LS1012A
884         select ARM64
885         help
886           Support for Freescale LS1012AFRDM platform.
887           The LS1012A Freedom  board (FRDM) is a high-performance
888           development platform that supports the QorIQ LS1012A
889           Layerscape Architecture processor.
890
891 config TARGET_LS1021AQDS
892         bool "Support ls1021aqds"
893         select BOARD_LATE_INIT
894         select CPU_V7
895         select CPU_V7_HAS_NONSEC
896         select CPU_V7_HAS_VIRT
897         select SUPPORT_SPL
898         select ARCH_LS1021A
899         select ARCH_SUPPORT_PSCI
900         select LS1_DEEP_SLEEP
901         select SYS_FSL_DDR
902         select BOARD_EARLY_INIT_F
903         imply SCSI
904
905 config TARGET_LS1021ATWR
906         bool "Support ls1021atwr"
907         select BOARD_LATE_INIT
908         select CPU_V7
909         select CPU_V7_HAS_NONSEC
910         select CPU_V7_HAS_VIRT
911         select SUPPORT_SPL
912         select ARCH_LS1021A
913         select ARCH_SUPPORT_PSCI
914         select LS1_DEEP_SLEEP
915         select BOARD_EARLY_INIT_F
916         imply SCSI
917
918 config TARGET_LS1021AIOT
919         bool "Support ls1021aiot"
920         select BOARD_LATE_INIT
921         select CPU_V7
922         select CPU_V7_HAS_NONSEC
923         select CPU_V7_HAS_VIRT
924         select SUPPORT_SPL
925         select ARCH_LS1021A
926         select ARCH_SUPPORT_PSCI
927         imply SCSI
928         help
929           Support for Freescale LS1021AIOT platform.
930           The LS1021A Freescale board (IOT) is a high-performance
931           development platform that supports the QorIQ LS1021A
932           Layerscape Architecture processor.
933
934 config TARGET_LS1043AQDS
935         bool "Support ls1043aqds"
936         select ARCH_LS1043A
937         select ARM64
938         select ARMV8_MULTIENTRY
939         select BOARD_LATE_INIT
940         select SUPPORT_SPL
941         select BOARD_EARLY_INIT_F
942         imply SCSI
943         help
944           Support for Freescale LS1043AQDS platform.
945
946 config TARGET_LS1043ARDB
947         bool "Support ls1043ardb"
948         select ARCH_LS1043A
949         select ARM64
950         select ARMV8_MULTIENTRY
951         select BOARD_LATE_INIT
952         select SUPPORT_SPL
953         select BOARD_EARLY_INIT_F
954         imply SCSI
955         help
956           Support for Freescale LS1043ARDB platform.
957
958 config TARGET_LS1046AQDS
959         bool "Support ls1046aqds"
960         select ARCH_LS1046A
961         select ARM64
962         select ARMV8_MULTIENTRY
963         select BOARD_LATE_INIT
964         select SUPPORT_SPL
965         select DM_SPI_FLASH if DM_SPI
966         select BOARD_EARLY_INIT_F
967         imply SCSI
968         help
969           Support for Freescale LS1046AQDS platform.
970           The LS1046A Development System (QDS) is a high-performance
971           development platform that supports the QorIQ LS1046A
972           Layerscape Architecture processor.
973
974 config TARGET_LS1046ARDB
975         bool "Support ls1046ardb"
976         select ARCH_LS1046A
977         select ARM64
978         select ARMV8_MULTIENTRY
979         select BOARD_LATE_INIT
980         select SUPPORT_SPL
981         select DM_SPI_FLASH if DM_SPI
982         select POWER_MC34VR500
983         select BOARD_EARLY_INIT_F
984         imply SCSI
985         help
986           Support for Freescale LS1046ARDB platform.
987           The LS1046A Reference Design Board (RDB) is a high-performance
988           development platform that supports the QorIQ LS1046A
989           Layerscape Architecture processor.
990
991 config TARGET_H2200
992         bool "Support h2200"
993         select CPU_PXA
994
995 config TARGET_ZIPITZ2
996         bool "Support zipitz2"
997         select CPU_PXA
998
999 config TARGET_COLIBRI_PXA270
1000         bool "Support colibri_pxa270"
1001         select CPU_PXA
1002
1003 config ARCH_UNIPHIER
1004         bool "Socionext UniPhier SoCs"
1005         select BOARD_LATE_INIT
1006         select CLK_UNIPHIER
1007         select DM
1008         select DM_GPIO
1009         select DM_I2C
1010         select DM_MMC
1011         select DM_RESET
1012         select DM_SERIAL
1013         select DM_USB
1014         select OF_CONTROL
1015         select OF_LIBFDT
1016         select PINCTRL
1017         select SPL_BOARD_INIT if SPL
1018         select SPL_DM if SPL
1019         select SPL_LIBCOMMON_SUPPORT if SPL
1020         select SPL_LIBGENERIC_SUPPORT if SPL
1021         select SPL_OF_CONTROL if SPL
1022         select SPL_PINCTRL if SPL
1023         select SUPPORT_SPL
1024         imply FAT_WRITE
1025         imply ENV_IS_IN_MMC
1026         help
1027           Support for UniPhier SoC family developed by Socionext Inc.
1028           (formerly, System LSI Business Division of Panasonic Corporation)
1029
1030 config STM32
1031         bool "Support STM32"
1032         select CPU_V7M
1033         select DM
1034         select DM_SERIAL
1035         select SYS_THUMB_BUILD
1036
1037 config ARCH_STI
1038         bool "Support STMicrolectronics SoCs"
1039         select CPU_V7
1040         select DM
1041         select DM_SERIAL
1042         select BLK
1043         select DM_MMC
1044         select DM_RESET
1045         help
1046           Support for STMicroelectronics STiH407/10 SoC family.
1047           This SoC is used on Linaro 96Board STiH410-B2260
1048
1049 config ARCH_ROCKCHIP
1050         bool "Support Rockchip SoCs"
1051         select OF_CONTROL
1052         select BLK
1053         select DM
1054         select SPL_DM if SPL
1055         select SYS_MALLOC_F
1056         select SYS_THUMB_BUILD if !ARM64
1057         select SPL_SYS_MALLOC_SIMPLE if SPL
1058         select DM_GPIO
1059         select DM_I2C
1060         select DM_MMC
1061         select DM_MMC_OPS
1062         select DM_SERIAL
1063         select DM_SPI
1064         select DM_SPI_FLASH
1065         select DM_USB if USB
1066         select DM_PWM
1067         select DM_REGULATOR
1068         imply FAT_WRITE
1069
1070 config TARGET_THUNDERX_88XX
1071         bool "Support ThunderX 88xx"
1072         select ARM64
1073         select OF_CONTROL
1074         select SYS_CACHE_SHIFT_7
1075
1076 config ARCH_ASPEED
1077         bool "Support Aspeed SoCs"
1078         select OF_CONTROL
1079         select DM
1080
1081 endchoice
1082
1083 source "arch/arm/mach-aspeed/Kconfig"
1084
1085 source "arch/arm/mach-at91/Kconfig"
1086
1087 source "arch/arm/mach-bcm283x/Kconfig"
1088
1089 source "arch/arm/mach-davinci/Kconfig"
1090
1091 source "arch/arm/mach-exynos/Kconfig"
1092
1093 source "arch/arm/mach-highbank/Kconfig"
1094
1095 source "arch/arm/mach-integrator/Kconfig"
1096
1097 source "arch/arm/mach-keystone/Kconfig"
1098
1099 source "arch/arm/mach-kirkwood/Kconfig"
1100
1101 source "arch/arm/mach-mvebu/Kconfig"
1102
1103 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1104
1105 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1106
1107 source "arch/arm/mach-imx/mx7/Kconfig"
1108
1109 source "arch/arm/mach-imx/mx6/Kconfig"
1110
1111 source "arch/arm/mach-imx/mx5/Kconfig"
1112
1113 source "arch/arm/mach-omap2/Kconfig"
1114
1115 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1116
1117 source "arch/arm/mach-orion5x/Kconfig"
1118
1119 source "arch/arm/mach-rmobile/Kconfig"
1120
1121 source "arch/arm/mach-meson/Kconfig"
1122
1123 source "arch/arm/mach-rockchip/Kconfig"
1124
1125 source "arch/arm/mach-s5pc1xx/Kconfig"
1126
1127 source "arch/arm/mach-snapdragon/Kconfig"
1128
1129 source "arch/arm/mach-socfpga/Kconfig"
1130
1131 source "arch/arm/mach-sti/Kconfig"
1132
1133 source "arch/arm/mach-stm32/Kconfig"
1134
1135 source "arch/arm/mach-sunxi/Kconfig"
1136
1137 source "arch/arm/mach-tegra/Kconfig"
1138
1139 source "arch/arm/mach-uniphier/Kconfig"
1140
1141 source "arch/arm/cpu/armv7/vf610/Kconfig"
1142
1143 source "arch/arm/mach-zynq/Kconfig"
1144
1145 source "arch/arm/cpu/armv7/Kconfig"
1146
1147 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1148
1149 source "arch/arm/cpu/armv8/Kconfig"
1150
1151 source "arch/arm/mach-imx/Kconfig"
1152
1153 source "board/aries/m28evk/Kconfig"
1154 source "board/bosch/shc/Kconfig"
1155 source "board/CarMediaLab/flea3/Kconfig"
1156 source "board/Marvell/aspenite/Kconfig"
1157 source "board/Marvell/gplugd/Kconfig"
1158 source "board/armadeus/apf27/Kconfig"
1159 source "board/armltd/vexpress/Kconfig"
1160 source "board/armltd/vexpress64/Kconfig"
1161 source "board/bluegiga/apx4devkit/Kconfig"
1162 source "board/broadcom/bcm23550_w1d/Kconfig"
1163 source "board/broadcom/bcm28155_ap/Kconfig"
1164 source "board/broadcom/bcmcygnus/Kconfig"
1165 source "board/broadcom/bcmnsp/Kconfig"
1166 source "board/broadcom/bcmns2/Kconfig"
1167 source "board/cavium/thunderx/Kconfig"
1168 source "board/cirrus/edb93xx/Kconfig"
1169 source "board/creative/xfi3/Kconfig"
1170 source "board/freescale/ls2080a/Kconfig"
1171 source "board/freescale/ls2080aqds/Kconfig"
1172 source "board/freescale/ls2080ardb/Kconfig"
1173 source "board/freescale/ls1021aqds/Kconfig"
1174 source "board/freescale/ls1043aqds/Kconfig"
1175 source "board/freescale/ls1021atwr/Kconfig"
1176 source "board/freescale/ls1021aiot/Kconfig"
1177 source "board/freescale/ls1046aqds/Kconfig"
1178 source "board/freescale/ls1043ardb/Kconfig"
1179 source "board/freescale/ls1046ardb/Kconfig"
1180 source "board/freescale/ls1012aqds/Kconfig"
1181 source "board/freescale/ls1012ardb/Kconfig"
1182 source "board/freescale/ls1012afrdm/Kconfig"
1183 source "board/freescale/mx23evk/Kconfig"
1184 source "board/freescale/mx25pdk/Kconfig"
1185 source "board/freescale/mx28evk/Kconfig"
1186 source "board/freescale/mx31ads/Kconfig"
1187 source "board/freescale/mx31pdk/Kconfig"
1188 source "board/freescale/mx35pdk/Kconfig"
1189 source "board/freescale/s32v234evb/Kconfig"
1190 source "board/gdsys/a38x/Kconfig"
1191 source "board/grinn/chiliboard/Kconfig"
1192 source "board/gumstix/pepper/Kconfig"
1193 source "board/h2200/Kconfig"
1194 source "board/hisilicon/hikey/Kconfig"
1195 source "board/hisilicon/poplar/Kconfig"
1196 source "board/imx31_phycore/Kconfig"
1197 source "board/isee/igep003x/Kconfig"
1198 source "board/olimex/mx23_olinuxino/Kconfig"
1199 source "board/phytec/pcm051/Kconfig"
1200 source "board/ppcag/bg0900/Kconfig"
1201 source "board/sandisk/sansa_fuze_plus/Kconfig"
1202 source "board/schulercontrol/sc_sps_1/Kconfig"
1203 source "board/silica/pengwyn/Kconfig"
1204 source "board/spear/spear300/Kconfig"
1205 source "board/spear/spear310/Kconfig"
1206 source "board/spear/spear320/Kconfig"
1207 source "board/spear/spear600/Kconfig"
1208 source "board/spear/x600/Kconfig"
1209 source "board/st/stv0991/Kconfig"
1210 source "board/syteco/zmx25/Kconfig"
1211 source "board/tcl/sl50/Kconfig"
1212 source "board/birdland/bav335x/Kconfig"
1213 source "board/timll/devkit3250/Kconfig"
1214 source "board/toradex/colibri_pxa270/Kconfig"
1215 source "board/technologic/ts4600/Kconfig"
1216 source "board/vscom/baltos/Kconfig"
1217 source "board/woodburn/Kconfig"
1218 source "board/work-microwave/work_92105/Kconfig"
1219 source "board/zipitz2/Kconfig"
1220
1221 source "arch/arm/Kconfig.debug"
1222
1223 endmenu