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