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