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