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