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