arm: Re-sync ARCH_MX5 / MX51 / MX53 CONFIG options
[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 ARCH_RMOBILE
588         bool "Renesas ARM SoCs"
589         select DM
590         select DM_SERIAL
591         select BOARD_EARLY_INIT_F
592         imply SYS_THUMB_BUILD
593
594 config TARGET_S32V234EVB
595         bool "Support s32v234evb"
596         select ARM64
597         select SYS_FSL_ERRATUM_ESDHC111
598
599 config ARCH_SNAPDRAGON
600         bool "Qualcomm Snapdragon SoCs"
601         select ARM64
602         select DM
603         select DM_GPIO
604         select DM_SERIAL
605         select SPMI
606         select OF_CONTROL
607         select OF_SEPARATE
608
609 config ARCH_SOCFPGA
610         bool "Altera SOCFPGA family"
611         select CPU_V7
612         select SUPPORT_SPL
613         select OF_CONTROL
614         select SPL_OF_CONTROL
615         select DM
616         select DM_SPI_FLASH
617         select DM_SPI
618         select ENABLE_ARM_SOC_BOOT0_HOOK
619         select ARCH_EARLY_INIT_R
620         select ARCH_MISC_INIT
621         select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
622         select SYS_THUMB_BUILD
623
624 config ARCH_SUNXI
625         bool "Support sunxi (Allwinner) SoCs"
626         select CMD_GPIO
627         select CMD_MMC if MMC
628         select CMD_USB if DISTRO_DEFAULTS
629         select DM
630         select DM_ETH
631         select DM_GPIO
632         select DM_KEYBOARD
633         select DM_SERIAL
634         select DM_USB if DISTRO_DEFAULTS
635         select OF_BOARD_SETUP
636         select OF_CONTROL
637         select OF_SEPARATE
638         select SPL_STACK_R if SUPPORT_SPL
639         select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
640         select SYS_NS16550
641         select SPL_SYS_THUMB_BUILD if !ARM64
642         select USB if DISTRO_DEFAULTS
643         select USB_STORAGE if DISTRO_DEFAULTS
644         select USB_KEYBOARD if DISTRO_DEFAULTS
645         select USE_TINY_PRINTF
646
647 config TARGET_TS4600
648         bool "Support TS4600"
649         select CPU_ARM926EJS
650         select SUPPORT_SPL
651
652 config ARCH_VF610
653         bool "Freescale Vybrid"
654         select CPU_V7
655         select SYS_FSL_ERRATUM_ESDHC111
656
657 config ARCH_ZYNQ
658         bool "Xilinx Zynq Platform"
659         select BOARD_LATE_INIT
660         select CPU_V7
661         select SUPPORT_SPL
662         select OF_CONTROL
663         select SPL_OF_CONTROL if SPL
664         select DM
665         select DM_ETH
666         select DM_GPIO
667         select SPL_DM if SPL
668         select DM_MMC
669         select DM_MMC_OPS
670         select DM_SPI
671         select DM_SERIAL
672         select DM_SPI_FLASH
673         select SPL_SEPARATE_BSS if SPL
674         select DM_USB if USB
675         select BLK
676         select CLK
677         select SPL_CLK
678         select CLK_ZYNQ
679
680 config ARCH_ZYNQMP
681         bool "Support Xilinx ZynqMP Platform"
682         select ARM64
683         select BOARD_LATE_INIT
684         select DM
685         select OF_CONTROL
686         select DM_SERIAL
687         select SUPPORT_SPL
688         select CLK
689         select SPL_CLK
690         select DM_USB if USB
691
692 config TEGRA
693         bool "NVIDIA Tegra"
694
695 config TARGET_VEXPRESS64_AEMV8A
696         bool "Support vexpress_aemv8a"
697         select ARM64
698
699 config TARGET_VEXPRESS64_BASE_FVP
700         bool "Support Versatile Express ARMv8a FVP BASE model"
701         select ARM64
702         select SEMIHOSTING
703
704 config TARGET_VEXPRESS64_BASE_FVP_DRAM
705         bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
706         select ARM64
707         help
708           This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
709           the default config to allow the user to load the images directly into
710           DRAM using model parameters rather than by using semi-hosting to load
711           the files from the host filesystem.
712
713 config TARGET_VEXPRESS64_JUNO
714         bool "Support Versatile Express Juno Development Platform"
715         select ARM64
716
717 config TARGET_LS2080A_EMU
718         bool "Support ls2080a_emu"
719         select ARCH_LS2080A
720         select ARM64
721         select ARMV8_MULTIENTRY
722         select ARCH_MISC_INIT
723         help
724           Support for Freescale LS2080A_EMU platform
725           The LS2080A Development System (EMULATOR) is a pre silicon
726           development platform that supports the QorIQ LS2080A
727           Layerscape Architecture processor.
728
729 config TARGET_LS2080A_SIMU
730         bool "Support ls2080a_simu"
731         select ARCH_LS2080A
732         select ARM64
733         select ARMV8_MULTIENTRY
734         select ARCH_MISC_INIT
735         help
736           Support for Freescale LS2080A_SIMU platform
737           The LS2080A Development System (QDS) is a pre silicon
738           development platform that supports the QorIQ LS2080A
739           Layerscape Architecture processor.
740
741 config TARGET_LS2080AQDS
742         bool "Support ls2080aqds"
743         select ARCH_LS2080A
744         select ARM64
745         select ARMV8_MULTIENTRY
746         select BOARD_LATE_INIT
747         select SUPPORT_SPL
748         select ARCH_MISC_INIT
749         help
750           Support for Freescale LS2080AQDS platform
751           The LS2080A Development System (QDS) is a high-performance
752           development platform that supports the QorIQ LS2080A
753           Layerscape Architecture processor.
754
755 config TARGET_LS2080ARDB
756         bool "Support ls2080ardb"
757         select ARCH_LS2080A
758         select ARM64
759         select ARMV8_MULTIENTRY
760         select BOARD_LATE_INIT
761         select SUPPORT_SPL
762         select ARCH_MISC_INIT
763         help
764           Support for Freescale LS2080ARDB platform.
765           The LS2080A Reference design board (RDB) is a high-performance
766           development platform that supports the QorIQ LS2080A
767           Layerscape Architecture processor.
768
769 config TARGET_HIKEY
770         bool "Support HiKey 96boards Consumer Edition Platform"
771         select ARM64
772         select DM
773         select DM_GPIO
774         select DM_SERIAL
775         select OF_CONTROL
776           help
777           Support for HiKey 96boards platform. It features a HI6220
778           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
779
780 config TARGET_LS1012AQDS
781         bool "Support ls1012aqds"
782         select ARCH_LS1012A
783         select ARM64
784         select BOARD_LATE_INIT
785         help
786           Support for Freescale LS1012AQDS platform.
787           The LS1012A Development System (QDS) is a high-performance
788           development platform that supports the QorIQ LS1012A
789           Layerscape Architecture processor.
790
791 config TARGET_LS1012ARDB
792         bool "Support ls1012ardb"
793         select ARCH_LS1012A
794         select ARM64
795         select BOARD_LATE_INIT
796         help
797           Support for Freescale LS1012ARDB platform.
798           The LS1012A Reference design board (RDB) is a high-performance
799           development platform that supports the QorIQ LS1012A
800           Layerscape Architecture processor.
801
802 config TARGET_LS1012AFRDM
803         bool "Support ls1012afrdm"
804         select ARCH_LS1012A
805         select ARM64
806         help
807           Support for Freescale LS1012AFRDM platform.
808           The LS1012A Freedom  board (FRDM) is a high-performance
809           development platform that supports the QorIQ LS1012A
810           Layerscape Architecture processor.
811
812 config TARGET_LS1021AQDS
813         bool "Support ls1021aqds"
814         select BOARD_LATE_INIT
815         select CPU_V7
816         select CPU_V7_HAS_NONSEC
817         select CPU_V7_HAS_VIRT
818         select SUPPORT_SPL
819         select ARCH_LS1021A
820         select ARCH_SUPPORT_PSCI
821         select LS1_DEEP_SLEEP
822         select SYS_FSL_DDR
823         select BOARD_EARLY_INIT_F
824
825 config TARGET_LS1021ATWR
826         bool "Support ls1021atwr"
827         select BOARD_LATE_INIT
828         select CPU_V7
829         select CPU_V7_HAS_NONSEC
830         select CPU_V7_HAS_VIRT
831         select SUPPORT_SPL
832         select ARCH_LS1021A
833         select ARCH_SUPPORT_PSCI
834         select LS1_DEEP_SLEEP
835         select BOARD_EARLY_INIT_F
836
837 config TARGET_LS1021AIOT
838         bool "Support ls1021aiot"
839         select BOARD_LATE_INIT
840         select CPU_V7
841         select CPU_V7_HAS_NONSEC
842         select CPU_V7_HAS_VIRT
843         select SUPPORT_SPL
844         select ARCH_LS1021A
845         select ARCH_SUPPORT_PSCI
846         help
847           Support for Freescale LS1021AIOT platform.
848           The LS1021A Freescale board (IOT) is a high-performance
849           development platform that supports the QorIQ LS1021A
850           Layerscape Architecture processor.
851
852 config TARGET_LS1043AQDS
853         bool "Support ls1043aqds"
854         select ARCH_LS1043A
855         select ARM64
856         select ARMV8_MULTIENTRY
857         select BOARD_LATE_INIT
858         select SUPPORT_SPL
859         select BOARD_EARLY_INIT_F
860         help
861           Support for Freescale LS1043AQDS platform.
862
863 config TARGET_LS1043ARDB
864         bool "Support ls1043ardb"
865         select ARCH_LS1043A
866         select ARM64
867         select ARMV8_MULTIENTRY
868         select BOARD_LATE_INIT
869         select SUPPORT_SPL
870         select BOARD_EARLY_INIT_F
871         help
872           Support for Freescale LS1043ARDB platform.
873
874 config TARGET_LS1046AQDS
875         bool "Support ls1046aqds"
876         select ARCH_LS1046A
877         select ARM64
878         select ARMV8_MULTIENTRY
879         select BOARD_LATE_INIT
880         select SUPPORT_SPL
881         select DM_SPI_FLASH if DM_SPI
882         select BOARD_EARLY_INIT_F
883         help
884           Support for Freescale LS1046AQDS platform.
885           The LS1046A Development System (QDS) is a high-performance
886           development platform that supports the QorIQ LS1046A
887           Layerscape Architecture processor.
888
889 config TARGET_LS1046ARDB
890         bool "Support ls1046ardb"
891         select ARCH_LS1046A
892         select ARM64
893         select ARMV8_MULTIENTRY
894         select BOARD_LATE_INIT
895         select SUPPORT_SPL
896         select DM_SPI_FLASH if DM_SPI
897         select POWER_MC34VR500
898         select BOARD_EARLY_INIT_F
899         help
900           Support for Freescale LS1046ARDB platform.
901           The LS1046A Reference Design Board (RDB) is a high-performance
902           development platform that supports the QorIQ LS1046A
903           Layerscape Architecture processor.
904
905 config TARGET_H2200
906         bool "Support h2200"
907         select CPU_PXA
908
909 config TARGET_ZIPITZ2
910         bool "Support zipitz2"
911         select CPU_PXA
912
913 config TARGET_COLIBRI_PXA270
914         bool "Support colibri_pxa270"
915         select CPU_PXA
916
917 config ARCH_UNIPHIER
918         bool "Socionext UniPhier SoCs"
919         select BOARD_LATE_INIT
920         select CLK_UNIPHIER
921         select DM
922         select DM_GPIO
923         select DM_I2C
924         select DM_MMC
925         select DM_RESET
926         select DM_SERIAL
927         select DM_USB
928         select OF_CONTROL
929         select OF_LIBFDT
930         select PINCTRL
931         select SPL_DM if SPL
932         select SPL_LIBCOMMON_SUPPORT if SPL
933         select SPL_LIBGENERIC_SUPPORT if SPL
934         select SPL_OF_CONTROL if SPL
935         select SPL_PINCTRL if SPL
936         select SUPPORT_SPL
937         help
938           Support for UniPhier SoC family developed by Socionext Inc.
939           (formerly, System LSI Business Division of Panasonic Corporation)
940
941 config STM32
942         bool "Support STM32"
943         select CPU_V7M
944         select DM
945         select DM_SERIAL
946         select SYS_THUMB_BUILD
947
948 config ARCH_STI
949         bool "Support STMicrolectronics SoCs"
950         select CPU_V7
951         select DM
952         select DM_SERIAL
953         select BLK
954         select DM_MMC
955         select DM_RESET
956         help
957           Support for STMicroelectronics STiH407/10 SoC family.
958           This SoC is used on Linaro 96Board STiH410-B2260
959
960 config ARCH_ROCKCHIP
961         bool "Support Rockchip SoCs"
962         select OF_CONTROL
963         select BLK
964         select DM
965         select SPL_DM if SPL
966         select SYS_MALLOC_F
967         select SYS_THUMB_BUILD if !ARM64
968         select SPL_SYS_MALLOC_SIMPLE if SPL
969         select DM_GPIO
970         select DM_I2C
971         select DM_MMC
972         select DM_MMC_OPS
973         select DM_SERIAL
974         select DM_SPI
975         select DM_SPI_FLASH
976         select DM_USB if USB
977         select DM_PWM
978         select DM_REGULATOR
979
980 config TARGET_THUNDERX_88XX
981         bool "Support ThunderX 88xx"
982         select ARM64
983         select OF_CONTROL
984         select SYS_CACHE_SHIFT_7
985
986 config ARCH_ASPEED
987         bool "Support Aspeed SoCs"
988         select OF_CONTROL
989         select DM
990
991 endchoice
992
993 source "arch/arm/mach-aspeed/Kconfig"
994
995 source "arch/arm/mach-at91/Kconfig"
996
997 source "arch/arm/mach-bcm283x/Kconfig"
998
999 source "arch/arm/mach-davinci/Kconfig"
1000
1001 source "arch/arm/mach-exynos/Kconfig"
1002
1003 source "arch/arm/mach-highbank/Kconfig"
1004
1005 source "arch/arm/mach-integrator/Kconfig"
1006
1007 source "arch/arm/mach-keystone/Kconfig"
1008
1009 source "arch/arm/mach-kirkwood/Kconfig"
1010
1011 source "arch/arm/mach-mvebu/Kconfig"
1012
1013 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1014
1015 source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1016
1017 source "arch/arm/cpu/armv7/mx7/Kconfig"
1018
1019 source "arch/arm/cpu/armv7/mx6/Kconfig"
1020
1021 source "arch/arm/cpu/armv7/mx5/Kconfig"
1022
1023 source "arch/arm/mach-omap2/Kconfig"
1024
1025 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1026
1027 source "arch/arm/mach-orion5x/Kconfig"
1028
1029 source "arch/arm/mach-rmobile/Kconfig"
1030
1031 source "arch/arm/mach-meson/Kconfig"
1032
1033 source "arch/arm/mach-rockchip/Kconfig"
1034
1035 source "arch/arm/mach-s5pc1xx/Kconfig"
1036
1037 source "arch/arm/mach-snapdragon/Kconfig"
1038
1039 source "arch/arm/mach-socfpga/Kconfig"
1040
1041 source "arch/arm/mach-sti/Kconfig"
1042
1043 source "arch/arm/mach-stm32/Kconfig"
1044
1045 source "arch/arm/mach-tegra/Kconfig"
1046
1047 source "arch/arm/mach-uniphier/Kconfig"
1048
1049 source "arch/arm/cpu/armv7/vf610/Kconfig"
1050
1051 source "arch/arm/mach-zynq/Kconfig"
1052
1053 source "arch/arm/cpu/armv7/Kconfig"
1054
1055 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1056
1057 source "arch/arm/cpu/armv8/Kconfig"
1058
1059 source "arch/arm/imx-common/Kconfig"
1060
1061 source "board/aries/m28evk/Kconfig"
1062 source "board/bosch/shc/Kconfig"
1063 source "board/CarMediaLab/flea3/Kconfig"
1064 source "board/Marvell/aspenite/Kconfig"
1065 source "board/Marvell/gplugd/Kconfig"
1066 source "board/armadeus/apf27/Kconfig"
1067 source "board/armltd/vexpress/Kconfig"
1068 source "board/armltd/vexpress64/Kconfig"
1069 source "board/bluegiga/apx4devkit/Kconfig"
1070 source "board/broadcom/bcm23550_w1d/Kconfig"
1071 source "board/broadcom/bcm28155_ap/Kconfig"
1072 source "board/broadcom/bcmcygnus/Kconfig"
1073 source "board/broadcom/bcmnsp/Kconfig"
1074 source "board/broadcom/bcmns2/Kconfig"
1075 source "board/cavium/thunderx/Kconfig"
1076 source "board/cirrus/edb93xx/Kconfig"
1077 source "board/creative/xfi3/Kconfig"
1078 source "board/freescale/ls2080a/Kconfig"
1079 source "board/freescale/ls2080aqds/Kconfig"
1080 source "board/freescale/ls2080ardb/Kconfig"
1081 source "board/freescale/ls1021aqds/Kconfig"
1082 source "board/freescale/ls1043aqds/Kconfig"
1083 source "board/freescale/ls1021atwr/Kconfig"
1084 source "board/freescale/ls1021aiot/Kconfig"
1085 source "board/freescale/ls1046aqds/Kconfig"
1086 source "board/freescale/ls1043ardb/Kconfig"
1087 source "board/freescale/ls1046ardb/Kconfig"
1088 source "board/freescale/ls1012aqds/Kconfig"
1089 source "board/freescale/ls1012ardb/Kconfig"
1090 source "board/freescale/ls1012afrdm/Kconfig"
1091 source "board/freescale/mx23evk/Kconfig"
1092 source "board/freescale/mx25pdk/Kconfig"
1093 source "board/freescale/mx28evk/Kconfig"
1094 source "board/freescale/mx31ads/Kconfig"
1095 source "board/freescale/mx31pdk/Kconfig"
1096 source "board/freescale/mx35pdk/Kconfig"
1097 source "board/freescale/s32v234evb/Kconfig"
1098 source "board/gdsys/a38x/Kconfig"
1099 source "board/grinn/chiliboard/Kconfig"
1100 source "board/gumstix/pepper/Kconfig"
1101 source "board/h2200/Kconfig"
1102 source "board/hisilicon/hikey/Kconfig"
1103 source "board/imx31_phycore/Kconfig"
1104 source "board/isee/igep0033/Kconfig"
1105 source "board/olimex/mx23_olinuxino/Kconfig"
1106 source "board/phytec/pcm051/Kconfig"
1107 source "board/ppcag/bg0900/Kconfig"
1108 source "board/sandisk/sansa_fuze_plus/Kconfig"
1109 source "board/schulercontrol/sc_sps_1/Kconfig"
1110 source "board/silica/pengwyn/Kconfig"
1111 source "board/spear/spear300/Kconfig"
1112 source "board/spear/spear310/Kconfig"
1113 source "board/spear/spear320/Kconfig"
1114 source "board/spear/spear600/Kconfig"
1115 source "board/spear/x600/Kconfig"
1116 source "board/st/stv0991/Kconfig"
1117 source "board/sunxi/Kconfig"
1118 source "board/syteco/zmx25/Kconfig"
1119 source "board/tcl/sl50/Kconfig"
1120 source "board/birdland/bav335x/Kconfig"
1121 source "board/timll/devkit3250/Kconfig"
1122 source "board/toradex/colibri_pxa270/Kconfig"
1123 source "board/technologic/ts4600/Kconfig"
1124 source "board/vscom/baltos/Kconfig"
1125 source "board/woodburn/Kconfig"
1126 source "board/work-microwave/work_92105/Kconfig"
1127 source "board/zipitz2/Kconfig"
1128
1129 source "arch/arm/Kconfig.debug"
1130
1131 endmenu