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