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