Convert CONFIG_ENV_IS_IN_FAT 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         imply ENV_IS_IN_FAT
492
493 config TARGET_VEXPRESS_CA15_TC2
494         bool "Support vexpress_ca15_tc2"
495         select CPU_V7
496         select CPU_V7_HAS_NONSEC
497         select CPU_V7_HAS_VIRT
498
499 config TARGET_VEXPRESS_CA5X2
500         bool "Support vexpress_ca5x2"
501         select CPU_V7
502
503 config TARGET_VEXPRESS_CA9X4
504         bool "Support vexpress_ca9x4"
505         select CPU_V7
506
507 config TARGET_BCM23550_W1D
508         bool "Support bcm23550_w1d"
509         select CPU_V7
510         imply CRC32_VERIFY
511         imply FAT_WRITE
512
513 config TARGET_BCM28155_AP
514         bool "Support bcm28155_ap"
515         select CPU_V7
516         imply CRC32_VERIFY
517         imply FAT_WRITE
518
519 config TARGET_BCMCYGNUS
520         bool "Support bcmcygnus"
521         select CPU_V7
522         imply CRC32_VERIFY
523         imply CMD_HASH
524         imply FAT_WRITE
525         imply HASH_VERIFY
526
527 config TARGET_BCMNSP
528         bool "Support bcmnsp"
529         select CPU_V7
530
531 config TARGET_BCMNS2
532         bool "Support Broadcom Northstar2"
533         select ARM64
534         help
535           Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
536           ARMv8 Cortex-A57 processors targeting a broad range of networking
537           applications
538
539 config ARCH_EXYNOS
540         bool "Samsung EXYNOS"
541         select DM
542         select DM_I2C
543         select DM_SPI_FLASH
544         select DM_SERIAL
545         select DM_SPI
546         select DM_GPIO
547         select DM_KEYBOARD
548         imply FAT_WRITE
549
550 config ARCH_S5PC1XX
551         bool "Samsung S5PC1XX"
552         select CPU_V7
553         select DM
554         select DM_SERIAL
555         select DM_GPIO
556         select DM_I2C
557
558 config ARCH_HIGHBANK
559         bool "Calxeda Highbank"
560         select CPU_V7
561
562 config ARCH_INTEGRATOR
563         bool "ARM Ltd. Integrator family"
564         select DM
565         select DM_SERIAL
566
567 config ARCH_KEYSTONE
568         bool "TI Keystone"
569         select CPU_V7
570         select SUPPORT_SPL
571         select SYS_THUMB_BUILD
572         select CMD_POWEROFF
573         imply CMD_MTDPARTS
574         imply FIT
575
576 config ARCH_OMAP2PLUS
577         bool "TI OMAP2+"
578         select CPU_V7
579         select SPL_BOARD_INIT if SPL
580         select SUPPORT_SPL
581         imply FIT
582
583 config ARCH_MESON
584         bool "Amlogic Meson"
585         help
586           Support for the Meson SoC family developed by Amlogic Inc.,
587           targeted at media players and tablet computers. We currently
588           support the S905 (GXBaby) 64-bit SoC.
589
590 config ARCH_MX7ULP
591         bool "NXP MX7ULP"
592         select CPU_V7
593         select ROM_UNIFIED_SECTIONS
594
595 config ARCH_MX7
596         bool "Freescale MX7"
597         select CPU_V7
598         select SYS_FSL_HAS_SEC if SECURE_BOOT
599         select SYS_FSL_SEC_COMPAT_4
600         select SYS_FSL_SEC_LE
601         select BOARD_EARLY_INIT_F
602         select ARCH_MISC_INIT
603
604 config ARCH_MX6
605         bool "Freescale MX6"
606         select CPU_V7
607         select SYS_FSL_HAS_SEC if SECURE_BOOT
608         select SYS_FSL_SEC_COMPAT_4
609         select SYS_FSL_SEC_LE
610         select SYS_THUMB_BUILD if SPL
611
612 config ARCH_MX5
613         bool "Freescale MX5"
614         select CPU_V7
615         select BOARD_EARLY_INIT_F
616
617 config ARCH_RMOBILE
618         bool "Renesas ARM SoCs"
619         select DM
620         select DM_SERIAL
621         select BOARD_EARLY_INIT_F
622         imply FAT_WRITE
623         imply SYS_THUMB_BUILD
624
625 config TARGET_S32V234EVB
626         bool "Support s32v234evb"
627         select ARM64
628         select SYS_FSL_ERRATUM_ESDHC111
629
630 config ARCH_SNAPDRAGON
631         bool "Qualcomm Snapdragon SoCs"
632         select ARM64
633         select DM
634         select DM_GPIO
635         select DM_SERIAL
636         select SPMI
637         select OF_CONTROL
638         select OF_SEPARATE
639
640 config ARCH_SOCFPGA
641         bool "Altera SOCFPGA family"
642         select CPU_V7
643         select SUPPORT_SPL
644         select OF_CONTROL
645         select SPL_OF_CONTROL
646         select DM
647         select DM_SPI_FLASH
648         select DM_SPI
649         select ENABLE_ARM_SOC_BOOT0_HOOK
650         select ARCH_EARLY_INIT_R
651         select ARCH_MISC_INIT
652         select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
653         select SYS_THUMB_BUILD
654         imply CMD_MTDPARTS
655         imply CRC32_VERIFY
656         imply FAT_WRITE
657
658 config ARCH_SUNXI
659         bool "Support sunxi (Allwinner) SoCs"
660         select CMD_GPIO
661         select CMD_MMC if MMC
662         select CMD_USB if DISTRO_DEFAULTS
663         select DM
664         select DM_ETH
665         select DM_GPIO
666         select DM_KEYBOARD
667         select DM_SERIAL
668         select DM_USB if DISTRO_DEFAULTS
669         select OF_BOARD_SETUP
670         select OF_CONTROL
671         select OF_SEPARATE
672         select SPL_STACK_R if SPL
673         select SPL_SYS_MALLOC_SIMPLE if SPL
674         select SYS_NS16550
675         select SPL_SYS_THUMB_BUILD if !ARM64
676         select USB if DISTRO_DEFAULTS
677         select USB_STORAGE if DISTRO_DEFAULTS
678         select USB_KEYBOARD if DISTRO_DEFAULTS
679         select USE_TINY_PRINTF
680         imply FAT_WRITE
681         imply PRE_CONSOLE_BUFFER
682         imply SPL_GPIO_SUPPORT
683         imply SPL_LIBCOMMON_SUPPORT
684         imply SPL_LIBDISK_SUPPORT
685         imply SPL_LIBGENERIC_SUPPORT
686         imply SPL_MMC_SUPPORT if MMC
687         imply SPL_POWER_SUPPORT
688         imply SPL_SERIAL_SUPPORT
689
690 config TARGET_TS4600
691         bool "Support TS4600"
692         select CPU_ARM926EJS
693         select SUPPORT_SPL
694
695 config ARCH_VF610
696         bool "Freescale Vybrid"
697         select CPU_V7
698         select SYS_FSL_ERRATUM_ESDHC111
699         imply CMD_MTDPARTS
700
701 config ARCH_ZYNQ
702         bool "Xilinx Zynq Platform"
703         select BOARD_LATE_INIT
704         select CPU_V7
705         select SUPPORT_SPL
706         select OF_CONTROL
707         select SPL_BOARD_INIT if SPL
708         select SPL_OF_CONTROL if SPL
709         select DM
710         select DM_ETH
711         select DM_GPIO
712         select SPL_DM if SPL
713         select DM_MMC
714         select DM_MMC_OPS
715         select DM_SPI
716         select DM_SERIAL
717         select DM_SPI_FLASH
718         select SPL_SEPARATE_BSS if SPL
719         select DM_USB if USB
720         select BLK
721         select CLK
722         select SPL_CLK
723         select CLK_ZYNQ
724         imply CMD_CLK
725         imply FAT_WRITE
726
727 config ARCH_ZYNQMP
728         bool "Support Xilinx ZynqMP Platform"
729         select ARM64
730         select BOARD_LATE_INIT
731         select DM
732         select OF_CONTROL
733         select DM_SERIAL
734         select SUPPORT_SPL
735         select CLK
736         select SPL_BOARD_INIT if SPL
737         select SPL_CLK
738         select DM_USB if USB
739         imply FAT_WRITE
740
741 config TEGRA
742         bool "NVIDIA Tegra"
743         imply FAT_WRITE
744
745 config TARGET_VEXPRESS64_AEMV8A
746         bool "Support vexpress_aemv8a"
747         select ARM64
748
749 config TARGET_VEXPRESS64_BASE_FVP
750         bool "Support Versatile Express ARMv8a FVP BASE model"
751         select ARM64
752         select SEMIHOSTING
753
754 config TARGET_VEXPRESS64_BASE_FVP_DRAM
755         bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
756         select ARM64
757         help
758           This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
759           the default config to allow the user to load the images directly into
760           DRAM using model parameters rather than by using semi-hosting to load
761           the files from the host filesystem.
762
763 config TARGET_VEXPRESS64_JUNO
764         bool "Support Versatile Express Juno Development Platform"
765         select ARM64
766
767 config TARGET_LS2080A_EMU
768         bool "Support ls2080a_emu"
769         select ARCH_LS2080A
770         select ARM64
771         select ARMV8_MULTIENTRY
772         select ARCH_MISC_INIT
773         help
774           Support for Freescale LS2080A_EMU platform
775           The LS2080A Development System (EMULATOR) is a pre silicon
776           development platform that supports the QorIQ LS2080A
777           Layerscape Architecture processor.
778
779 config TARGET_LS2080A_SIMU
780         bool "Support ls2080a_simu"
781         select ARCH_LS2080A
782         select ARM64
783         select ARMV8_MULTIENTRY
784         select ARCH_MISC_INIT
785         help
786           Support for Freescale LS2080A_SIMU platform
787           The LS2080A Development System (QDS) is a pre silicon
788           development platform that supports the QorIQ LS2080A
789           Layerscape Architecture processor.
790
791 config TARGET_LS2080AQDS
792         bool "Support ls2080aqds"
793         select ARCH_LS2080A
794         select ARM64
795         select ARMV8_MULTIENTRY
796         select BOARD_LATE_INIT
797         select SUPPORT_SPL
798         select ARCH_MISC_INIT
799         imply SCSI
800         help
801           Support for Freescale LS2080AQDS platform
802           The LS2080A Development System (QDS) is a high-performance
803           development platform that supports the QorIQ LS2080A
804           Layerscape Architecture processor.
805
806 config TARGET_LS2080ARDB
807         bool "Support ls2080ardb"
808         select ARCH_LS2080A
809         select ARM64
810         select ARMV8_MULTIENTRY
811         select BOARD_LATE_INIT
812         select SUPPORT_SPL
813         select ARCH_MISC_INIT
814         imply SCSI
815         help
816           Support for Freescale LS2080ARDB platform.
817           The LS2080A Reference design board (RDB) is a high-performance
818           development platform that supports the QorIQ LS2080A
819           Layerscape Architecture processor.
820
821 config TARGET_LS2081ARDB
822         bool "Support ls2081ardb"
823         select ARCH_LS2080A
824         select ARM64
825         select ARMV8_MULTIENTRY
826         select BOARD_LATE_INIT
827         select SUPPORT_SPL
828         select ARCH_MISC_INIT
829         help
830           Support for Freescale LS2081ARDB platform.
831           The LS2081A Reference design board (RDB) is a high-performance
832           development platform that supports the QorIQ LS2081A/LS2041A
833           Layerscape Architecture processor.
834
835 config TARGET_HIKEY
836         bool "Support HiKey 96boards Consumer Edition Platform"
837         select ARM64
838         select DM
839         select DM_GPIO
840         select DM_SERIAL
841         select OF_CONTROL
842           help
843           Support for HiKey 96boards platform. It features a HI6220
844           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
845
846 config TARGET_POPLAR
847         bool "Support Poplar 96boards Enterprise Edition Platform"
848         select ARM64
849         select DM
850         select OF_CONTROL
851         select DM_SERIAL
852         select DM_USB
853           help
854           Support for Poplar 96boards EE platform. It features a HI3798cv200
855           SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
856           making it capable of running any commercial set-top solution based on
857           Linux or Android.
858
859 config TARGET_LS1012AQDS
860         bool "Support ls1012aqds"
861         select ARCH_LS1012A
862         select ARM64
863         select BOARD_LATE_INIT
864         help
865           Support for Freescale LS1012AQDS platform.
866           The LS1012A Development System (QDS) is a high-performance
867           development platform that supports the QorIQ LS1012A
868           Layerscape Architecture processor.
869
870 config TARGET_LS1012ARDB
871         bool "Support ls1012ardb"
872         select ARCH_LS1012A
873         select ARM64
874         select BOARD_LATE_INIT
875         imply SCSI
876         help
877           Support for Freescale LS1012ARDB platform.
878           The LS1012A Reference design board (RDB) is a high-performance
879           development platform that supports the QorIQ LS1012A
880           Layerscape Architecture processor.
881
882 config TARGET_LS1012AFRDM
883         bool "Support ls1012afrdm"
884         select ARCH_LS1012A
885         select ARM64
886         help
887           Support for Freescale LS1012AFRDM platform.
888           The LS1012A Freedom  board (FRDM) is a high-performance
889           development platform that supports the QorIQ LS1012A
890           Layerscape Architecture processor.
891
892 config TARGET_LS1021AQDS
893         bool "Support ls1021aqds"
894         select BOARD_LATE_INIT
895         select CPU_V7
896         select CPU_V7_HAS_NONSEC
897         select CPU_V7_HAS_VIRT
898         select SUPPORT_SPL
899         select ARCH_LS1021A
900         select ARCH_SUPPORT_PSCI
901         select LS1_DEEP_SLEEP
902         select SYS_FSL_DDR
903         select BOARD_EARLY_INIT_F
904         imply SCSI
905
906 config TARGET_LS1021ATWR
907         bool "Support ls1021atwr"
908         select BOARD_LATE_INIT
909         select CPU_V7
910         select CPU_V7_HAS_NONSEC
911         select CPU_V7_HAS_VIRT
912         select SUPPORT_SPL
913         select ARCH_LS1021A
914         select ARCH_SUPPORT_PSCI
915         select LS1_DEEP_SLEEP
916         select BOARD_EARLY_INIT_F
917         imply SCSI
918
919 config TARGET_LS1021AIOT
920         bool "Support ls1021aiot"
921         select BOARD_LATE_INIT
922         select CPU_V7
923         select CPU_V7_HAS_NONSEC
924         select CPU_V7_HAS_VIRT
925         select SUPPORT_SPL
926         select ARCH_LS1021A
927         select ARCH_SUPPORT_PSCI
928         imply SCSI
929         help
930           Support for Freescale LS1021AIOT platform.
931           The LS1021A Freescale board (IOT) is a high-performance
932           development platform that supports the QorIQ LS1021A
933           Layerscape Architecture processor.
934
935 config TARGET_LS1043AQDS
936         bool "Support ls1043aqds"
937         select ARCH_LS1043A
938         select ARM64
939         select ARMV8_MULTIENTRY
940         select BOARD_LATE_INIT
941         select SUPPORT_SPL
942         select BOARD_EARLY_INIT_F
943         imply SCSI
944         help
945           Support for Freescale LS1043AQDS platform.
946
947 config TARGET_LS1043ARDB
948         bool "Support ls1043ardb"
949         select ARCH_LS1043A
950         select ARM64
951         select ARMV8_MULTIENTRY
952         select BOARD_LATE_INIT
953         select SUPPORT_SPL
954         select BOARD_EARLY_INIT_F
955         imply SCSI
956         help
957           Support for Freescale LS1043ARDB platform.
958
959 config TARGET_LS1046AQDS
960         bool "Support ls1046aqds"
961         select ARCH_LS1046A
962         select ARM64
963         select ARMV8_MULTIENTRY
964         select BOARD_LATE_INIT
965         select SUPPORT_SPL
966         select DM_SPI_FLASH if DM_SPI
967         select BOARD_EARLY_INIT_F
968         imply SCSI
969         help
970           Support for Freescale LS1046AQDS platform.
971           The LS1046A Development System (QDS) is a high-performance
972           development platform that supports the QorIQ LS1046A
973           Layerscape Architecture processor.
974
975 config TARGET_LS1046ARDB
976         bool "Support ls1046ardb"
977         select ARCH_LS1046A
978         select ARM64
979         select ARMV8_MULTIENTRY
980         select BOARD_LATE_INIT
981         select SUPPORT_SPL
982         select DM_SPI_FLASH if DM_SPI
983         select POWER_MC34VR500
984         select BOARD_EARLY_INIT_F
985         imply SCSI
986         help
987           Support for Freescale LS1046ARDB platform.
988           The LS1046A Reference Design Board (RDB) is a high-performance
989           development platform that supports the QorIQ LS1046A
990           Layerscape Architecture processor.
991
992 config TARGET_H2200
993         bool "Support h2200"
994         select CPU_PXA
995
996 config TARGET_ZIPITZ2
997         bool "Support zipitz2"
998         select CPU_PXA
999
1000 config TARGET_COLIBRI_PXA270
1001         bool "Support colibri_pxa270"
1002         select CPU_PXA
1003
1004 config ARCH_UNIPHIER
1005         bool "Socionext UniPhier SoCs"
1006         select BOARD_LATE_INIT
1007         select CLK_UNIPHIER
1008         select DM
1009         select DM_GPIO
1010         select DM_I2C
1011         select DM_MMC
1012         select DM_RESET
1013         select DM_SERIAL
1014         select DM_USB
1015         select OF_CONTROL
1016         select OF_LIBFDT
1017         select PINCTRL
1018         select SPL_BOARD_INIT if SPL
1019         select SPL_DM if SPL
1020         select SPL_LIBCOMMON_SUPPORT if SPL
1021         select SPL_LIBGENERIC_SUPPORT if SPL
1022         select SPL_OF_CONTROL if SPL
1023         select SPL_PINCTRL if SPL
1024         select SUPPORT_SPL
1025         imply FAT_WRITE
1026         imply ENV_IS_IN_MMC
1027         help
1028           Support for UniPhier SoC family developed by Socionext Inc.
1029           (formerly, System LSI Business Division of Panasonic Corporation)
1030
1031 config STM32
1032         bool "Support STM32"
1033         select CPU_V7M
1034         select DM
1035         select DM_SERIAL
1036         select SYS_THUMB_BUILD
1037
1038 config ARCH_STI
1039         bool "Support STMicrolectronics SoCs"
1040         select CPU_V7
1041         select DM
1042         select DM_SERIAL
1043         select BLK
1044         select DM_MMC
1045         select DM_RESET
1046         help
1047           Support for STMicroelectronics STiH407/10 SoC family.
1048           This SoC is used on Linaro 96Board STiH410-B2260
1049
1050 config ARCH_ROCKCHIP
1051         bool "Support Rockchip SoCs"
1052         select OF_CONTROL
1053         select BLK
1054         select DM
1055         select SPL_DM if SPL
1056         select SYS_MALLOC_F
1057         select SYS_THUMB_BUILD if !ARM64
1058         select SPL_SYS_MALLOC_SIMPLE if SPL
1059         select DM_GPIO
1060         select DM_I2C
1061         select DM_MMC
1062         select DM_MMC_OPS
1063         select DM_SERIAL
1064         select DM_SPI
1065         select DM_SPI_FLASH
1066         select DM_USB if USB
1067         select DM_PWM
1068         select DM_REGULATOR
1069         imply FAT_WRITE
1070
1071 config TARGET_THUNDERX_88XX
1072         bool "Support ThunderX 88xx"
1073         select ARM64
1074         select OF_CONTROL
1075         select SYS_CACHE_SHIFT_7
1076
1077 config ARCH_ASPEED
1078         bool "Support Aspeed SoCs"
1079         select OF_CONTROL
1080         select DM
1081
1082 endchoice
1083
1084 source "arch/arm/mach-aspeed/Kconfig"
1085
1086 source "arch/arm/mach-at91/Kconfig"
1087
1088 source "arch/arm/mach-bcm283x/Kconfig"
1089
1090 source "arch/arm/mach-davinci/Kconfig"
1091
1092 source "arch/arm/mach-exynos/Kconfig"
1093
1094 source "arch/arm/mach-highbank/Kconfig"
1095
1096 source "arch/arm/mach-integrator/Kconfig"
1097
1098 source "arch/arm/mach-keystone/Kconfig"
1099
1100 source "arch/arm/mach-kirkwood/Kconfig"
1101
1102 source "arch/arm/mach-mvebu/Kconfig"
1103
1104 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1105
1106 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1107
1108 source "arch/arm/mach-imx/mx7/Kconfig"
1109
1110 source "arch/arm/mach-imx/mx6/Kconfig"
1111
1112 source "arch/arm/mach-imx/mx5/Kconfig"
1113
1114 source "arch/arm/mach-omap2/Kconfig"
1115
1116 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1117
1118 source "arch/arm/mach-orion5x/Kconfig"
1119
1120 source "arch/arm/mach-rmobile/Kconfig"
1121
1122 source "arch/arm/mach-meson/Kconfig"
1123
1124 source "arch/arm/mach-rockchip/Kconfig"
1125
1126 source "arch/arm/mach-s5pc1xx/Kconfig"
1127
1128 source "arch/arm/mach-snapdragon/Kconfig"
1129
1130 source "arch/arm/mach-socfpga/Kconfig"
1131
1132 source "arch/arm/mach-sti/Kconfig"
1133
1134 source "arch/arm/mach-stm32/Kconfig"
1135
1136 source "arch/arm/mach-sunxi/Kconfig"
1137
1138 source "arch/arm/mach-tegra/Kconfig"
1139
1140 source "arch/arm/mach-uniphier/Kconfig"
1141
1142 source "arch/arm/cpu/armv7/vf610/Kconfig"
1143
1144 source "arch/arm/mach-zynq/Kconfig"
1145
1146 source "arch/arm/cpu/armv7/Kconfig"
1147
1148 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1149
1150 source "arch/arm/cpu/armv8/Kconfig"
1151
1152 source "arch/arm/mach-imx/Kconfig"
1153
1154 source "board/aries/m28evk/Kconfig"
1155 source "board/bosch/shc/Kconfig"
1156 source "board/CarMediaLab/flea3/Kconfig"
1157 source "board/Marvell/aspenite/Kconfig"
1158 source "board/Marvell/gplugd/Kconfig"
1159 source "board/armadeus/apf27/Kconfig"
1160 source "board/armltd/vexpress/Kconfig"
1161 source "board/armltd/vexpress64/Kconfig"
1162 source "board/bluegiga/apx4devkit/Kconfig"
1163 source "board/broadcom/bcm23550_w1d/Kconfig"
1164 source "board/broadcom/bcm28155_ap/Kconfig"
1165 source "board/broadcom/bcmcygnus/Kconfig"
1166 source "board/broadcom/bcmnsp/Kconfig"
1167 source "board/broadcom/bcmns2/Kconfig"
1168 source "board/cavium/thunderx/Kconfig"
1169 source "board/cirrus/edb93xx/Kconfig"
1170 source "board/creative/xfi3/Kconfig"
1171 source "board/freescale/ls2080a/Kconfig"
1172 source "board/freescale/ls2080aqds/Kconfig"
1173 source "board/freescale/ls2080ardb/Kconfig"
1174 source "board/freescale/ls1021aqds/Kconfig"
1175 source "board/freescale/ls1043aqds/Kconfig"
1176 source "board/freescale/ls1021atwr/Kconfig"
1177 source "board/freescale/ls1021aiot/Kconfig"
1178 source "board/freescale/ls1046aqds/Kconfig"
1179 source "board/freescale/ls1043ardb/Kconfig"
1180 source "board/freescale/ls1046ardb/Kconfig"
1181 source "board/freescale/ls1012aqds/Kconfig"
1182 source "board/freescale/ls1012ardb/Kconfig"
1183 source "board/freescale/ls1012afrdm/Kconfig"
1184 source "board/freescale/mx23evk/Kconfig"
1185 source "board/freescale/mx25pdk/Kconfig"
1186 source "board/freescale/mx28evk/Kconfig"
1187 source "board/freescale/mx31ads/Kconfig"
1188 source "board/freescale/mx31pdk/Kconfig"
1189 source "board/freescale/mx35pdk/Kconfig"
1190 source "board/freescale/s32v234evb/Kconfig"
1191 source "board/gdsys/a38x/Kconfig"
1192 source "board/grinn/chiliboard/Kconfig"
1193 source "board/gumstix/pepper/Kconfig"
1194 source "board/h2200/Kconfig"
1195 source "board/hisilicon/hikey/Kconfig"
1196 source "board/hisilicon/poplar/Kconfig"
1197 source "board/imx31_phycore/Kconfig"
1198 source "board/isee/igep003x/Kconfig"
1199 source "board/olimex/mx23_olinuxino/Kconfig"
1200 source "board/phytec/pcm051/Kconfig"
1201 source "board/ppcag/bg0900/Kconfig"
1202 source "board/sandisk/sansa_fuze_plus/Kconfig"
1203 source "board/schulercontrol/sc_sps_1/Kconfig"
1204 source "board/silica/pengwyn/Kconfig"
1205 source "board/spear/spear300/Kconfig"
1206 source "board/spear/spear310/Kconfig"
1207 source "board/spear/spear320/Kconfig"
1208 source "board/spear/spear600/Kconfig"
1209 source "board/spear/x600/Kconfig"
1210 source "board/st/stv0991/Kconfig"
1211 source "board/syteco/zmx25/Kconfig"
1212 source "board/tcl/sl50/Kconfig"
1213 source "board/birdland/bav335x/Kconfig"
1214 source "board/timll/devkit3250/Kconfig"
1215 source "board/toradex/colibri_pxa270/Kconfig"
1216 source "board/technologic/ts4600/Kconfig"
1217 source "board/vscom/baltos/Kconfig"
1218 source "board/woodburn/Kconfig"
1219 source "board/work-microwave/work_92105/Kconfig"
1220 source "board/zipitz2/Kconfig"
1221
1222 source "arch/arm/Kconfig.debug"
1223
1224 endmenu