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