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