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