]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/Kconfig
Merge git://git.denx.de/u-boot-video
[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 if ARM64
13 config POSITION_INDEPENDENT
14 bool "Generate position-independent pre-relocation code"
15 help
16 U-Boot expects to be linked to a specific hard-coded address, and to
17 be loaded to and run from that address. This option lifts that
18 restriction, thus allowing the code to be loaded to and executed
19 from almost any address. This logic relies on the relocation
20 information that is embedded into the binary to support U-Boot
21 relocating itself to the top-of-RAM later during execution.
22 endif
23
24 config STATIC_RELA
25 bool
26 default y if ARM64 && !POSITION_INDEPENDENT
27
28 config DMA_ADDR_T_64BIT
29 bool
30 default y if ARM64
31
32 config HAS_VBAR
33 bool
34
35 config HAS_THUMB2
36 bool
37
38 # Used for compatibility with asm files copied from the kernel
39 config ARM_ASM_UNIFIED
40 bool
41 default y
42
43 # Used for compatibility with asm files copied from the kernel
44 config THUMB2_KERNEL
45 bool
46
47 # If set, the workarounds for these ARM errata are applied early during U-Boot
48 # startup. Note that in general these options force the workarounds to be
49 # applied; no CPU-type/version detection exists, unlike the similar options in
50 # the Linux kernel. Do not set these options unless they apply! Also note that
51 # the following can be machine specific errata. These do have ability to
52 # provide rudimentary version and machine specific checks, but expect no
53 # product checks:
54 # CONFIG_ARM_ERRATA_430973
55 # CONFIG_ARM_ERRATA_454179
56 # CONFIG_ARM_ERRATA_621766
57 # CONFIG_ARM_ERRATA_798870
58 # CONFIG_ARM_ERRATA_801819
59 config ARM_ERRATA_430973
60 bool
61
62 config ARM_ERRATA_454179
63 bool
64
65 config ARM_ERRATA_621766
66 bool
67
68 config ARM_ERRATA_716044
69 bool
70
71 config ARM_ERRATA_725233
72 bool
73
74 config ARM_ERRATA_742230
75 bool
76
77 config ARM_ERRATA_743622
78 bool
79
80 config ARM_ERRATA_751472
81 bool
82
83 config ARM_ERRATA_761320
84 bool
85
86 config ARM_ERRATA_773022
87 bool
88
89 config ARM_ERRATA_774769
90 bool
91
92 config ARM_ERRATA_794072
93 bool
94
95 config ARM_ERRATA_798870
96 bool
97
98 config ARM_ERRATA_801819
99 bool
100
101 config ARM_ERRATA_826974
102 bool
103
104 config ARM_ERRATA_828024
105 bool
106
107 config ARM_ERRATA_829520
108 bool
109
110 config ARM_ERRATA_833069
111 bool
112
113 config ARM_ERRATA_833471
114 bool
115
116 config ARM_ERRATA_845369
117 bool
118
119 config ARM_ERRATA_852421
120 bool
121
122 config ARM_ERRATA_852423
123 bool
124
125 config ARM_ERRATA_855873
126 bool
127
128 config CPU_ARM720T
129 bool
130 select SYS_CACHE_SHIFT_5
131
132 config CPU_ARM920T
133 bool
134 select SYS_CACHE_SHIFT_5
135
136 config CPU_ARM926EJS
137 bool
138 select SYS_CACHE_SHIFT_5
139
140 config CPU_ARM946ES
141 bool
142 select SYS_CACHE_SHIFT_5
143
144 config CPU_ARM1136
145 bool
146 select SYS_CACHE_SHIFT_5
147
148 config CPU_ARM1176
149 bool
150 select HAS_VBAR
151 select SYS_CACHE_SHIFT_5
152
153 config CPU_V7
154 bool
155 select HAS_VBAR
156 select HAS_THUMB2
157 select SYS_CACHE_SHIFT_6
158
159 config CPU_V7M
160 bool
161 select HAS_THUMB2
162 select THUMB2_KERNEL
163 select SYS_CACHE_SHIFT_5
164
165 config CPU_PXA
166 bool
167 select SYS_CACHE_SHIFT_5
168
169 config CPU_SA1100
170 bool
171 select SYS_CACHE_SHIFT_5
172
173 config SYS_CPU
174 default "arm720t" if CPU_ARM720T
175 default "arm920t" if CPU_ARM920T
176 default "arm926ejs" if CPU_ARM926EJS
177 default "arm946es" if CPU_ARM946ES
178 default "arm1136" if CPU_ARM1136
179 default "arm1176" if CPU_ARM1176
180 default "armv7" if CPU_V7
181 default "armv7m" if CPU_V7M
182 default "pxa" if CPU_PXA
183 default "sa1100" if CPU_SA1100
184 default "armv8" if ARM64
185
186 config SYS_ARM_ARCH
187 int
188 default 4 if CPU_ARM720T
189 default 4 if CPU_ARM920T
190 default 5 if CPU_ARM926EJS
191 default 5 if CPU_ARM946ES
192 default 6 if CPU_ARM1136
193 default 6 if CPU_ARM1176
194 default 7 if CPU_V7
195 default 7 if CPU_V7M
196 default 5 if CPU_PXA
197 default 4 if CPU_SA1100
198 default 8 if ARM64
199
200 config SYS_CACHE_SHIFT_5
201 bool
202
203 config SYS_CACHE_SHIFT_6
204 bool
205
206 config SYS_CACHE_SHIFT_7
207 bool
208
209 config SYS_CACHELINE_SIZE
210 int
211 default 128 if SYS_CACHE_SHIFT_7
212 default 64 if SYS_CACHE_SHIFT_6
213 default 32 if SYS_CACHE_SHIFT_5
214
215 config ARM_SMCCC
216 bool "Support for ARM SMC Calling Convention (SMCCC)"
217 depends on CPU_V7 || ARM64
218 select ARM_PSCI_FW
219 help
220 Say Y here if you want to enable ARM SMC Calling Convention.
221 This should be enabled if U-Boot needs to communicate with system
222 firmware (for example, PSCI) according to SMCCC.
223
224 config SEMIHOSTING
225 bool "support boot from semihosting"
226 help
227 In emulated environments, semihosting is a way for
228 the hosted environment to call out to the emulator to
229 retrieve files from the host machine.
230
231 config SYS_THUMB_BUILD
232 bool "Build U-Boot using the Thumb instruction set"
233 depends on !ARM64
234 help
235 Use this flag to build U-Boot using the Thumb instruction set for
236 ARM architectures. Thumb instruction set provides better code
237 density. For ARM architectures that support Thumb2 this flag will
238 result in Thumb2 code generated by GCC.
239
240 config SPL_SYS_THUMB_BUILD
241 bool "Build SPL using the Thumb instruction set"
242 default y if SYS_THUMB_BUILD
243 depends on !ARM64
244 help
245 Use this flag to build SPL using the Thumb instruction set for
246 ARM architectures. Thumb instruction set provides better code
247 density. For ARM architectures that support Thumb2 this flag will
248 result in Thumb2 code generated by GCC.
249
250 config SYS_L2CACHE_OFF
251 bool "L2cache off"
252 help
253 If SoC does not support L2CACHE or one do not want to enable
254 L2CACHE, choose this option.
255
256 config ENABLE_ARM_SOC_BOOT0_HOOK
257 bool "prepare BOOT0 header"
258 help
259 If the SoC's BOOT0 requires a header area filled with (magic)
260 values, then choose this option, and create a define called
261 ARM_SOC_BOOT0_HOOK which contains the required assembler
262 preprocessor code.
263
264 config ARM_CORTEX_CPU_IS_UP
265 bool
266 default n
267
268 config USE_ARCH_MEMCPY
269 bool "Use an assembly optimized implementation of memcpy"
270 default y
271 depends on !ARM64
272 help
273 Enable the generation of an optimized version of memcpy.
274 Such implementation may be faster under some conditions
275 but may increase the binary size.
276
277 config SPL_USE_ARCH_MEMCPY
278 bool "Use an assembly optimized implementation of memcpy for SPL"
279 default y if USE_ARCH_MEMCPY
280 depends on !ARM64
281 help
282 Enable the generation of an optimized version of memcpy.
283 Such implementation may be faster under some conditions
284 but may increase the binary size.
285
286 config USE_ARCH_MEMSET
287 bool "Use an assembly optimized implementation of memset"
288 default y
289 depends on !ARM64
290 help
291 Enable the generation of an optimized version of memset.
292 Such implementation may be faster under some conditions
293 but may increase the binary size.
294
295 config SPL_USE_ARCH_MEMSET
296 bool "Use an assembly optimized implementation of memset for SPL"
297 default y if USE_ARCH_MEMSET
298 depends on !ARM64
299 help
300 Enable the generation of an optimized version of memset.
301 Such implementation may be faster under some conditions
302 but may increase the binary size.
303
304 config ARM64_SUPPORT_AARCH32
305 bool "ARM64 system support AArch32 execution state"
306 default y if ARM64 && !TARGET_THUNDERX_88XX
307 help
308 This ARM64 system supports AArch32 execution state.
309
310 choice
311 prompt "Target select"
312 default TARGET_HIKEY
313
314 config ARCH_AT91
315 bool "Atmel AT91"
316 select SPL_BOARD_INIT if SPL
317
318 config TARGET_EDB93XX
319 bool "Support edb93xx"
320 select CPU_ARM920T
321
322 config TARGET_ASPENITE
323 bool "Support aspenite"
324 select CPU_ARM926EJS
325
326 config TARGET_GPLUGD
327 bool "Support gplugd"
328 select CPU_ARM926EJS
329
330 config ARCH_DAVINCI
331 bool "TI DaVinci"
332 select CPU_ARM926EJS
333 imply CMD_SAVES
334 help
335 Support for TI's DaVinci platform.
336
337 config KIRKWOOD
338 bool "Marvell Kirkwood"
339 select CPU_ARM926EJS
340 select BOARD_EARLY_INIT_F
341 select ARCH_MISC_INIT
342
343 config ARCH_MVEBU
344 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
345 select OF_CONTROL
346 select OF_SEPARATE
347 select DM
348 select DM_ETH
349 select DM_SERIAL
350 select DM_SPI
351 select DM_SPI_FLASH
352
353 config TARGET_DEVKIT3250
354 bool "Support devkit3250"
355 select CPU_ARM926EJS
356 select SUPPORT_SPL
357
358 config TARGET_WORK_92105
359 bool "Support work_92105"
360 select CPU_ARM926EJS
361 select SUPPORT_SPL
362
363 config TARGET_APF27
364 bool "Support apf27"
365 select CPU_ARM926EJS
366 select SUPPORT_SPL
367
368 config TARGET_APX4DEVKIT
369 bool "Support apx4devkit"
370 select CPU_ARM926EJS
371 select SUPPORT_SPL
372
373 config TARGET_XFI3
374 bool "Support xfi3"
375 select CPU_ARM926EJS
376 select SUPPORT_SPL
377
378 config TARGET_M28EVK
379 bool "Support m28evk"
380 select CPU_ARM926EJS
381 select SUPPORT_SPL
382
383 config TARGET_MX23EVK
384 bool "Support mx23evk"
385 select CPU_ARM926EJS
386 select SUPPORT_SPL
387 select BOARD_EARLY_INIT_F
388
389 config TARGET_MX28EVK
390 bool "Support mx28evk"
391 select CPU_ARM926EJS
392 select SUPPORT_SPL
393 select BOARD_EARLY_INIT_F
394
395 config TARGET_MX23_OLINUXINO
396 bool "Support mx23_olinuxino"
397 select CPU_ARM926EJS
398 select SUPPORT_SPL
399 select BOARD_EARLY_INIT_F
400
401 config TARGET_BG0900
402 bool "Support bg0900"
403 select CPU_ARM926EJS
404 select SUPPORT_SPL
405
406 config TARGET_SANSA_FUZE_PLUS
407 bool "Support sansa_fuze_plus"
408 select CPU_ARM926EJS
409 select SUPPORT_SPL
410
411 config TARGET_SC_SPS_1
412 bool "Support sc_sps_1"
413 select CPU_ARM926EJS
414 select SUPPORT_SPL
415
416 config ORION5X
417 bool "Marvell Orion"
418 select CPU_ARM926EJS
419
420 config TARGET_SPEAR300
421 bool "Support spear300"
422 select CPU_ARM926EJS
423 select BOARD_EARLY_INIT_F
424 imply CMD_SAVES
425
426 config TARGET_SPEAR310
427 bool "Support spear310"
428 select CPU_ARM926EJS
429 select BOARD_EARLY_INIT_F
430 imply CMD_SAVES
431
432 config TARGET_SPEAR320
433 bool "Support spear320"
434 select CPU_ARM926EJS
435 select BOARD_EARLY_INIT_F
436 imply CMD_SAVES
437
438 config TARGET_SPEAR600
439 bool "Support spear600"
440 select CPU_ARM926EJS
441 select BOARD_EARLY_INIT_F
442 imply CMD_SAVES
443
444 config TARGET_STV0991
445 bool "Support stv0991"
446 select CPU_V7
447 select DM
448 select DM_SERIAL
449 select DM_SPI
450 select DM_SPI_FLASH
451 select SPI_FLASH
452
453 config TARGET_X600
454 bool "Support x600"
455 select BOARD_LATE_INIT
456 select CPU_ARM926EJS
457 select SUPPORT_SPL
458
459 config TARGET_IMX31_PHYCORE
460 bool "Support imx31_phycore_eet"
461 select CPU_ARM1136
462 select BOARD_EARLY_INIT_F
463
464 config TARGET_IMX31_PHYCORE_EET
465 bool "Support imx31_phycore_eet"
466 select BOARD_LATE_INIT
467 select CPU_ARM1136
468 select BOARD_EARLY_INIT_F
469
470 config TARGET_MX31ADS
471 bool "Support mx31ads"
472 select CPU_ARM1136
473 select BOARD_EARLY_INIT_F
474
475 config TARGET_MX31PDK
476 bool "Support mx31pdk"
477 select BOARD_LATE_INIT
478 select CPU_ARM1136
479 select SUPPORT_SPL
480 select BOARD_EARLY_INIT_F
481
482 config TARGET_WOODBURN
483 bool "Support woodburn"
484 select CPU_ARM1136
485
486 config TARGET_WOODBURN_SD
487 bool "Support woodburn_sd"
488 select CPU_ARM1136
489 select SUPPORT_SPL
490
491 config TARGET_FLEA3
492 bool "Support flea3"
493 select CPU_ARM1136
494
495 config TARGET_MX35PDK
496 bool "Support mx35pdk"
497 select BOARD_LATE_INIT
498 select CPU_ARM1136
499
500 config ARCH_BCM283X
501 bool "Broadcom BCM283X family"
502 select DM
503 select DM_SERIAL
504 select DM_GPIO
505 select OF_CONTROL
506 imply FAT_WRITE
507
508 config TARGET_VEXPRESS_CA15_TC2
509 bool "Support vexpress_ca15_tc2"
510 select CPU_V7
511 select CPU_V7_HAS_NONSEC
512 select CPU_V7_HAS_VIRT
513
514 config TARGET_VEXPRESS_CA5X2
515 bool "Support vexpress_ca5x2"
516 select CPU_V7
517
518 config TARGET_VEXPRESS_CA9X4
519 bool "Support vexpress_ca9x4"
520 select CPU_V7
521
522 config TARGET_BCM23550_W1D
523 bool "Support bcm23550_w1d"
524 select CPU_V7
525 imply CRC32_VERIFY
526 imply FAT_WRITE
527
528 config TARGET_BCM28155_AP
529 bool "Support bcm28155_ap"
530 select CPU_V7
531 imply CRC32_VERIFY
532 imply FAT_WRITE
533
534 config TARGET_BCMCYGNUS
535 bool "Support bcmcygnus"
536 select CPU_V7
537 imply CRC32_VERIFY
538 imply CMD_HASH
539 imply FAT_WRITE
540 imply HASH_VERIFY
541 imply NETDEVICES
542 imply BCM_SF2_ETH
543 imply BCM_SF2_ETH_GMAC
544
545 config TARGET_BCMNSP
546 bool "Support bcmnsp"
547 select CPU_V7
548
549 config TARGET_BCMNS2
550 bool "Support Broadcom Northstar2"
551 select ARM64
552 help
553 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
554 ARMv8 Cortex-A57 processors targeting a broad range of networking
555 applications
556
557 config ARCH_EXYNOS
558 bool "Samsung EXYNOS"
559 select DM
560 select DM_I2C
561 select DM_SPI_FLASH
562 select DM_SERIAL
563 select DM_SPI
564 select DM_GPIO
565 select DM_KEYBOARD
566 imply FAT_WRITE
567
568 config ARCH_S5PC1XX
569 bool "Samsung S5PC1XX"
570 select CPU_V7
571 select DM
572 select DM_SERIAL
573 select DM_GPIO
574 select DM_I2C
575
576 config ARCH_HIGHBANK
577 bool "Calxeda Highbank"
578 select CPU_V7
579
580 config ARCH_INTEGRATOR
581 bool "ARM Ltd. Integrator family"
582 select DM
583 select DM_SERIAL
584
585 config ARCH_KEYSTONE
586 bool "TI Keystone"
587 select CPU_V7
588 select SUPPORT_SPL
589 select SYS_THUMB_BUILD
590 select CMD_POWEROFF
591 imply CMD_MTDPARTS
592 imply FIT
593 imply CMD_SAVES
594
595 config ARCH_OMAP2PLUS
596 bool "TI OMAP2+"
597 select CPU_V7
598 select SPL_BOARD_INIT if SPL
599 select SPL_STACK_R if SPL
600 select SUPPORT_SPL
601 imply FIT
602
603 config ARCH_MESON
604 bool "Amlogic Meson"
605 help
606 Support for the Meson SoC family developed by Amlogic Inc.,
607 targeted at media players and tablet computers. We currently
608 support the S905 (GXBaby) 64-bit SoC.
609
610 config ARCH_MX25
611 bool "NXP MX25"
612 select CPU_ARM926EJS
613
614 config ARCH_MX7ULP
615 bool "NXP MX7ULP"
616 select CPU_V7
617 select ROM_UNIFIED_SECTIONS
618
619 config ARCH_MX7
620 bool "Freescale MX7"
621 select CPU_V7
622 select SYS_FSL_HAS_SEC if SECURE_BOOT
623 select SYS_FSL_SEC_COMPAT_4
624 select SYS_FSL_SEC_LE
625 select BOARD_EARLY_INIT_F
626 select ARCH_MISC_INIT
627
628 config ARCH_MX6
629 bool "Freescale MX6"
630 select CPU_V7
631 select SYS_FSL_HAS_SEC if SECURE_BOOT
632 select SYS_FSL_SEC_COMPAT_4
633 select SYS_FSL_SEC_LE
634 select SYS_THUMB_BUILD if SPL
635
636 if ARCH_MX6
637 config SPL_LDSCRIPT
638 default "arch/arm/mach-omap2/u-boot-spl.lds"
639 endif
640
641 config ARCH_MX5
642 bool "Freescale MX5"
643 select CPU_V7
644 select BOARD_EARLY_INIT_F
645
646 config ARCH_QEMU
647 bool "QEMU Virtual Platform"
648 select CPU_V7
649 select ARCH_SUPPORT_PSCI
650 select DM
651 select DM_SERIAL
652 select OF_CONTROL
653
654 config ARCH_RMOBILE
655 bool "Renesas ARM SoCs"
656 select DM
657 select DM_SERIAL
658 select BOARD_EARLY_INIT_F
659 imply FAT_WRITE
660 imply SYS_THUMB_BUILD
661
662 config TARGET_S32V234EVB
663 bool "Support s32v234evb"
664 select ARM64
665 select SYS_FSL_ERRATUM_ESDHC111
666
667 config ARCH_SNAPDRAGON
668 bool "Qualcomm Snapdragon SoCs"
669 select ARM64
670 select DM
671 select DM_GPIO
672 select DM_SERIAL
673 select SPMI
674 select OF_CONTROL
675 select OF_SEPARATE
676
677 config ARCH_SOCFPGA
678 bool "Altera SOCFPGA family"
679 select CPU_V7
680 select SUPPORT_SPL
681 select OF_CONTROL
682 select SPL_OF_CONTROL
683 select DM
684 select DM_SPI_FLASH
685 select DM_SPI
686 select ENABLE_ARM_SOC_BOOT0_HOOK
687 select ARCH_EARLY_INIT_R
688 select ARCH_MISC_INIT
689 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
690 select SYS_THUMB_BUILD
691 imply CMD_MTDPARTS
692 imply CRC32_VERIFY
693 imply FAT_WRITE
694
695 config ARCH_SUNXI
696 bool "Support sunxi (Allwinner) SoCs"
697 select BINMAN
698 select CMD_GPIO
699 select CMD_MMC if MMC
700 select CMD_USB if DISTRO_DEFAULTS
701 select DM
702 select DM_ETH
703 select DM_GPIO
704 select DM_KEYBOARD
705 select DM_SERIAL
706 select DM_USB if DISTRO_DEFAULTS
707 select OF_BOARD_SETUP
708 select OF_CONTROL
709 select OF_SEPARATE
710 select SPL_STACK_R if SPL
711 select SPL_SYS_MALLOC_SIMPLE if SPL
712 select SYS_NS16550
713 select SPL_SYS_THUMB_BUILD if !ARM64
714 select SYS_THUMB_BUILD if !ARM64
715 select USB if DISTRO_DEFAULTS
716 select USB_STORAGE if DISTRO_DEFAULTS
717 select USB_KEYBOARD if DISTRO_DEFAULTS
718 select USE_TINY_PRINTF
719 imply CMD_GPT
720 imply FAT_WRITE
721 imply PRE_CONSOLE_BUFFER
722 imply SPL_GPIO_SUPPORT
723 imply SPL_LIBCOMMON_SUPPORT
724 imply SPL_LIBDISK_SUPPORT
725 imply SPL_LIBGENERIC_SUPPORT
726 imply SPL_MMC_SUPPORT if MMC
727 imply SPL_POWER_SUPPORT
728 imply SPL_SERIAL_SUPPORT
729 imply USB_GADGET
730
731 config TARGET_TS4600
732 bool "Support TS4600"
733 select CPU_ARM926EJS
734 select SUPPORT_SPL
735
736 config ARCH_VF610
737 bool "Freescale Vybrid"
738 select CPU_V7
739 select SYS_FSL_ERRATUM_ESDHC111
740 imply CMD_MTDPARTS
741 imply NAND
742
743 config ARCH_ZYNQ
744 bool "Xilinx Zynq based platform"
745 select BOARD_LATE_INIT
746 select CPU_V7
747 select SUPPORT_SPL
748 select OF_CONTROL
749 select SPL_BOARD_INIT if SPL
750 select SPL_OF_CONTROL if SPL
751 select DM
752 select DM_ETH
753 select DM_GPIO
754 select SPL_DM if SPL
755 select DM_MMC
756 select DM_SPI
757 select DM_SERIAL
758 select DM_SPI_FLASH
759 select SPL_SEPARATE_BSS if SPL
760 select DM_USB if USB
761 select BLK
762 select CLK
763 select SPL_CLK
764 select CLK_ZYNQ
765 imply CMD_CLK
766 imply FAT_WRITE
767 imply CMD_SPL
768
769 config ARCH_ZYNQMP
770 bool "Xilinx ZynqMP based platform"
771 select ARM64
772 select BOARD_LATE_INIT
773 select DM
774 select OF_CONTROL
775 select DM_SERIAL
776 select SUPPORT_SPL
777 select CLK
778 select SPL_BOARD_INIT if SPL
779 select SPL_CLK if SPL
780 select DM_USB if USB
781 imply FAT_WRITE
782
783 config TEGRA
784 bool "NVIDIA Tegra"
785 imply FAT_WRITE
786
787 config TARGET_VEXPRESS64_AEMV8A
788 bool "Support vexpress_aemv8a"
789 select ARM64
790
791 config TARGET_VEXPRESS64_BASE_FVP
792 bool "Support Versatile Express ARMv8a FVP BASE model"
793 select ARM64
794 select SEMIHOSTING
795
796 config TARGET_VEXPRESS64_BASE_FVP_DRAM
797 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
798 select ARM64
799 help
800 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
801 the default config to allow the user to load the images directly into
802 DRAM using model parameters rather than by using semi-hosting to load
803 the files from the host filesystem.
804
805 config TARGET_VEXPRESS64_JUNO
806 bool "Support Versatile Express Juno Development Platform"
807 select ARM64
808
809 config TARGET_LS2080A_EMU
810 bool "Support ls2080a_emu"
811 select ARCH_LS2080A
812 select ARM64
813 select ARMV8_MULTIENTRY
814 select ARCH_MISC_INIT
815 help
816 Support for Freescale LS2080A_EMU platform
817 The LS2080A Development System (EMULATOR) is a pre silicon
818 development platform that supports the QorIQ LS2080A
819 Layerscape Architecture processor.
820
821 config TARGET_LS2080A_SIMU
822 bool "Support ls2080a_simu"
823 select ARCH_LS2080A
824 select ARM64
825 select ARMV8_MULTIENTRY
826 select ARCH_MISC_INIT
827 help
828 Support for Freescale LS2080A_SIMU platform
829 The LS2080A Development System (QDS) is a pre silicon
830 development platform that supports the QorIQ LS2080A
831 Layerscape Architecture processor.
832
833 config TARGET_LS1088AQDS
834 bool "Support ls1088aqds"
835 select ARCH_LS1088A
836 select ARM64
837 select ARMV8_MULTIENTRY
838 select ARCH_MISC_INIT
839 select BOARD_LATE_INIT
840 select SUPPORT_SPL
841 help
842 Support for NXP LS1088AQDS platform
843 The LS1088A Development System (QDS) is a high-performance
844 development platform that supports the QorIQ LS1088A
845 Layerscape Architecture processor.
846
847 config TARGET_LS2080AQDS
848 bool "Support ls2080aqds"
849 select ARCH_LS2080A
850 select ARM64
851 select ARMV8_MULTIENTRY
852 select BOARD_LATE_INIT
853 select SUPPORT_SPL
854 select ARCH_MISC_INIT
855 imply SCSI
856 imply SCSI_AHCI
857 help
858 Support for Freescale LS2080AQDS platform
859 The LS2080A Development System (QDS) is a high-performance
860 development platform that supports the QorIQ LS2080A
861 Layerscape Architecture processor.
862
863 config TARGET_LS2080ARDB
864 bool "Support ls2080ardb"
865 select ARCH_LS2080A
866 select ARM64
867 select ARMV8_MULTIENTRY
868 select BOARD_LATE_INIT
869 select SUPPORT_SPL
870 select ARCH_MISC_INIT
871 imply SCSI
872 imply SCSI_AHCI
873 help
874 Support for Freescale LS2080ARDB platform.
875 The LS2080A Reference design board (RDB) is a high-performance
876 development platform that supports the QorIQ LS2080A
877 Layerscape Architecture processor.
878
879 config TARGET_LS2081ARDB
880 bool "Support ls2081ardb"
881 select ARCH_LS2080A
882 select ARM64
883 select ARMV8_MULTIENTRY
884 select BOARD_LATE_INIT
885 select SUPPORT_SPL
886 select ARCH_MISC_INIT
887 help
888 Support for Freescale LS2081ARDB platform.
889 The LS2081A Reference design board (RDB) is a high-performance
890 development platform that supports the QorIQ LS2081A/LS2041A
891 Layerscape Architecture processor.
892
893 config TARGET_HIKEY
894 bool "Support HiKey 96boards Consumer Edition Platform"
895 select ARM64
896 select DM
897 select DM_GPIO
898 select DM_SERIAL
899 select OF_CONTROL
900 help
901 Support for HiKey 96boards platform. It features a HI6220
902 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
903
904 config TARGET_POPLAR
905 bool "Support Poplar 96boards Enterprise Edition Platform"
906 select ARM64
907 select DM
908 select OF_CONTROL
909 select DM_SERIAL
910 select DM_USB
911 help
912 Support for Poplar 96boards EE platform. It features a HI3798cv200
913 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
914 making it capable of running any commercial set-top solution based on
915 Linux or Android.
916
917 config TARGET_LS1012AQDS
918 bool "Support ls1012aqds"
919 select ARCH_LS1012A
920 select ARM64
921 select BOARD_LATE_INIT
922 help
923 Support for Freescale LS1012AQDS platform.
924 The LS1012A Development System (QDS) is a high-performance
925 development platform that supports the QorIQ LS1012A
926 Layerscape Architecture processor.
927
928 config TARGET_LS1012ARDB
929 bool "Support ls1012ardb"
930 select ARCH_LS1012A
931 select ARM64
932 select BOARD_LATE_INIT
933 imply SCSI
934 imply SCSI_AHCI
935 help
936 Support for Freescale LS1012ARDB platform.
937 The LS1012A Reference design board (RDB) is a high-performance
938 development platform that supports the QorIQ LS1012A
939 Layerscape Architecture processor.
940
941 config TARGET_LS1012AFRDM
942 bool "Support ls1012afrdm"
943 select ARCH_LS1012A
944 select ARM64
945 help
946 Support for Freescale LS1012AFRDM platform.
947 The LS1012A Freedom board (FRDM) is a high-performance
948 development platform that supports the QorIQ LS1012A
949 Layerscape Architecture processor.
950
951 config TARGET_LS1088ARDB
952 bool "Support ls1088ardb"
953 select ARCH_LS1088A
954 select ARM64
955 select ARMV8_MULTIENTRY
956 select ARCH_MISC_INIT
957 select BOARD_LATE_INIT
958 select SUPPORT_SPL
959 help
960 Support for NXP LS1088ARDB platform.
961 The LS1088A Reference design board (RDB) is a high-performance
962 development platform that supports the QorIQ LS1088A
963 Layerscape Architecture processor.
964
965 config TARGET_LS1021AQDS
966 bool "Support ls1021aqds"
967 select BOARD_LATE_INIT
968 select CPU_V7
969 select CPU_V7_HAS_NONSEC
970 select CPU_V7_HAS_VIRT
971 select SUPPORT_SPL
972 select ARCH_LS1021A
973 select ARCH_SUPPORT_PSCI
974 select LS1_DEEP_SLEEP
975 select SYS_FSL_DDR
976 select BOARD_EARLY_INIT_F
977 imply SCSI
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 imply SCSI
991
992 config TARGET_LS1021AIOT
993 bool "Support ls1021aiot"
994 select BOARD_LATE_INIT
995 select CPU_V7
996 select CPU_V7_HAS_NONSEC
997 select CPU_V7_HAS_VIRT
998 select SUPPORT_SPL
999 select ARCH_LS1021A
1000 select ARCH_SUPPORT_PSCI
1001 imply SCSI
1002 help
1003 Support for Freescale LS1021AIOT platform.
1004 The LS1021A Freescale board (IOT) is a high-performance
1005 development platform that supports the QorIQ LS1021A
1006 Layerscape Architecture processor.
1007
1008 config TARGET_LS1043AQDS
1009 bool "Support ls1043aqds"
1010 select ARCH_LS1043A
1011 select ARM64
1012 select ARMV8_MULTIENTRY
1013 select BOARD_LATE_INIT
1014 select SUPPORT_SPL
1015 select BOARD_EARLY_INIT_F
1016 imply SCSI
1017 help
1018 Support for Freescale LS1043AQDS platform.
1019
1020 config TARGET_LS1043ARDB
1021 bool "Support ls1043ardb"
1022 select ARCH_LS1043A
1023 select ARM64
1024 select ARMV8_MULTIENTRY
1025 select BOARD_LATE_INIT
1026 select SUPPORT_SPL
1027 select BOARD_EARLY_INIT_F
1028 imply SCSI
1029 help
1030 Support for Freescale LS1043ARDB platform.
1031
1032 config TARGET_LS1046AQDS
1033 bool "Support ls1046aqds"
1034 select ARCH_LS1046A
1035 select ARM64
1036 select ARMV8_MULTIENTRY
1037 select BOARD_LATE_INIT
1038 select SUPPORT_SPL
1039 select DM_SPI_FLASH if DM_SPI
1040 select BOARD_EARLY_INIT_F
1041 imply SCSI
1042 help
1043 Support for Freescale LS1046AQDS platform.
1044 The LS1046A Development System (QDS) is a high-performance
1045 development platform that supports the QorIQ LS1046A
1046 Layerscape Architecture processor.
1047
1048 config TARGET_LS1046ARDB
1049 bool "Support ls1046ardb"
1050 select ARCH_LS1046A
1051 select ARM64
1052 select ARMV8_MULTIENTRY
1053 select BOARD_LATE_INIT
1054 select SUPPORT_SPL
1055 select DM_SPI_FLASH if DM_SPI
1056 select POWER_MC34VR500
1057 select BOARD_EARLY_INIT_F
1058 imply SCSI
1059 help
1060 Support for Freescale LS1046ARDB platform.
1061 The LS1046A Reference Design Board (RDB) is a high-performance
1062 development platform that supports the QorIQ LS1046A
1063 Layerscape Architecture processor.
1064
1065 config TARGET_H2200
1066 bool "Support h2200"
1067 select CPU_PXA
1068
1069 config TARGET_ZIPITZ2
1070 bool "Support zipitz2"
1071 select CPU_PXA
1072
1073 config TARGET_COLIBRI_PXA270
1074 bool "Support colibri_pxa270"
1075 select CPU_PXA
1076
1077 config ARCH_UNIPHIER
1078 bool "Socionext UniPhier SoCs"
1079 select BOARD_LATE_INIT
1080 select DM
1081 select DM_GPIO
1082 select DM_I2C
1083 select DM_MMC
1084 select DM_RESET
1085 select DM_SERIAL
1086 select DM_USB
1087 select OF_CONTROL
1088 select OF_LIBFDT
1089 select PINCTRL
1090 select SPL_BOARD_INIT if SPL
1091 select SPL_DM if SPL
1092 select SPL_LIBCOMMON_SUPPORT if SPL
1093 select SPL_LIBGENERIC_SUPPORT if SPL
1094 select SPL_OF_CONTROL if SPL
1095 select SPL_PINCTRL if SPL
1096 select SUPPORT_SPL
1097 imply FAT_WRITE
1098 help
1099 Support for UniPhier SoC family developed by Socionext Inc.
1100 (formerly, System LSI Business Division of Panasonic Corporation)
1101
1102 config STM32
1103 bool "Support STM32"
1104 select CPU_V7M
1105 select DM
1106 select DM_SERIAL
1107 select SYS_THUMB_BUILD
1108
1109 config ARCH_STI
1110 bool "Support STMicrolectronics SoCs"
1111 select CPU_V7
1112 select DM
1113 select DM_SERIAL
1114 select BLK
1115 select DM_MMC
1116 select DM_RESET
1117 help
1118 Support for STMicroelectronics STiH407/10 SoC family.
1119 This SoC is used on Linaro 96Board STiH410-B2260
1120
1121 config ARCH_ROCKCHIP
1122 bool "Support Rockchip SoCs"
1123 select OF_CONTROL
1124 select BLK
1125 select DM
1126 select SPL_DM if SPL
1127 select SYS_MALLOC_F
1128 select SYS_THUMB_BUILD if !ARM64
1129 select SPL_SYS_MALLOC_SIMPLE if SPL
1130 select DM_GPIO
1131 select DM_I2C
1132 select DM_MMC
1133 select DM_SERIAL
1134 select DM_SPI
1135 select DM_SPI_FLASH
1136 select DM_USB if USB
1137 select DM_PWM
1138 select DM_REGULATOR
1139 select ENABLE_ARM_SOC_BOOT0_HOOK
1140 imply CMD_FASTBOOT
1141 imply FASTBOOT
1142 imply FAT_WRITE
1143 imply USB_FUNCTION_FASTBOOT
1144 imply SPL_SYSRESET
1145 imply TPL_SYSRESET
1146 imply ADC
1147 imply SARADC_ROCKCHIP
1148
1149 config TARGET_THUNDERX_88XX
1150 bool "Support ThunderX 88xx"
1151 select ARM64
1152 select OF_CONTROL
1153 select SYS_CACHE_SHIFT_7
1154
1155 config ARCH_ASPEED
1156 bool "Support Aspeed SoCs"
1157 select OF_CONTROL
1158 select DM
1159
1160 endchoice
1161
1162 source "arch/arm/mach-aspeed/Kconfig"
1163
1164 source "arch/arm/mach-at91/Kconfig"
1165
1166 source "arch/arm/mach-bcm283x/Kconfig"
1167
1168 source "arch/arm/mach-davinci/Kconfig"
1169
1170 source "arch/arm/mach-exynos/Kconfig"
1171
1172 source "arch/arm/mach-highbank/Kconfig"
1173
1174 source "arch/arm/mach-integrator/Kconfig"
1175
1176 source "arch/arm/mach-keystone/Kconfig"
1177
1178 source "arch/arm/mach-kirkwood/Kconfig"
1179
1180 source "arch/arm/mach-mvebu/Kconfig"
1181
1182 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1183
1184 source "arch/arm/mach-imx/mx2/Kconfig"
1185
1186 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1187
1188 source "arch/arm/mach-imx/mx7/Kconfig"
1189
1190 source "arch/arm/mach-imx/mx6/Kconfig"
1191
1192 source "arch/arm/mach-imx/mx5/Kconfig"
1193
1194 source "arch/arm/mach-omap2/Kconfig"
1195
1196 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1197
1198 source "arch/arm/mach-orion5x/Kconfig"
1199
1200 source "arch/arm/mach-rmobile/Kconfig"
1201
1202 source "arch/arm/mach-meson/Kconfig"
1203
1204 source "arch/arm/mach-qemu/Kconfig"
1205
1206 source "arch/arm/mach-rockchip/Kconfig"
1207
1208 source "arch/arm/mach-s5pc1xx/Kconfig"
1209
1210 source "arch/arm/mach-snapdragon/Kconfig"
1211
1212 source "arch/arm/mach-socfpga/Kconfig"
1213
1214 source "arch/arm/mach-sti/Kconfig"
1215
1216 source "arch/arm/mach-stm32/Kconfig"
1217
1218 source "arch/arm/mach-sunxi/Kconfig"
1219
1220 source "arch/arm/mach-tegra/Kconfig"
1221
1222 source "arch/arm/mach-uniphier/Kconfig"
1223
1224 source "arch/arm/cpu/armv7/vf610/Kconfig"
1225
1226 source "arch/arm/mach-zynq/Kconfig"
1227
1228 source "arch/arm/cpu/armv7/Kconfig"
1229
1230 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1231
1232 source "arch/arm/cpu/armv8/Kconfig"
1233
1234 source "arch/arm/mach-imx/Kconfig"
1235
1236 source "board/aries/m28evk/Kconfig"
1237 source "board/bosch/shc/Kconfig"
1238 source "board/CarMediaLab/flea3/Kconfig"
1239 source "board/Marvell/aspenite/Kconfig"
1240 source "board/Marvell/gplugd/Kconfig"
1241 source "board/armadeus/apf27/Kconfig"
1242 source "board/armltd/vexpress/Kconfig"
1243 source "board/armltd/vexpress64/Kconfig"
1244 source "board/bluegiga/apx4devkit/Kconfig"
1245 source "board/broadcom/bcm23550_w1d/Kconfig"
1246 source "board/broadcom/bcm28155_ap/Kconfig"
1247 source "board/broadcom/bcmcygnus/Kconfig"
1248 source "board/broadcom/bcmnsp/Kconfig"
1249 source "board/broadcom/bcmns2/Kconfig"
1250 source "board/cavium/thunderx/Kconfig"
1251 source "board/cirrus/edb93xx/Kconfig"
1252 source "board/creative/xfi3/Kconfig"
1253 source "board/freescale/ls2080a/Kconfig"
1254 source "board/freescale/ls2080aqds/Kconfig"
1255 source "board/freescale/ls2080ardb/Kconfig"
1256 source "board/freescale/ls1088a/Kconfig"
1257 source "board/freescale/ls1021aqds/Kconfig"
1258 source "board/freescale/ls1043aqds/Kconfig"
1259 source "board/freescale/ls1021atwr/Kconfig"
1260 source "board/freescale/ls1021aiot/Kconfig"
1261 source "board/freescale/ls1046aqds/Kconfig"
1262 source "board/freescale/ls1043ardb/Kconfig"
1263 source "board/freescale/ls1046ardb/Kconfig"
1264 source "board/freescale/ls1012aqds/Kconfig"
1265 source "board/freescale/ls1012ardb/Kconfig"
1266 source "board/freescale/ls1012afrdm/Kconfig"
1267 source "board/freescale/mx23evk/Kconfig"
1268 source "board/freescale/mx28evk/Kconfig"
1269 source "board/freescale/mx31ads/Kconfig"
1270 source "board/freescale/mx31pdk/Kconfig"
1271 source "board/freescale/mx35pdk/Kconfig"
1272 source "board/freescale/s32v234evb/Kconfig"
1273 source "board/gdsys/a38x/Kconfig"
1274 source "board/grinn/chiliboard/Kconfig"
1275 source "board/gumstix/pepper/Kconfig"
1276 source "board/h2200/Kconfig"
1277 source "board/hisilicon/hikey/Kconfig"
1278 source "board/hisilicon/poplar/Kconfig"
1279 source "board/imx31_phycore/Kconfig"
1280 source "board/isee/igep003x/Kconfig"
1281 source "board/olimex/mx23_olinuxino/Kconfig"
1282 source "board/phytec/pcm051/Kconfig"
1283 source "board/ppcag/bg0900/Kconfig"
1284 source "board/sandisk/sansa_fuze_plus/Kconfig"
1285 source "board/schulercontrol/sc_sps_1/Kconfig"
1286 source "board/silica/pengwyn/Kconfig"
1287 source "board/spear/spear300/Kconfig"
1288 source "board/spear/spear310/Kconfig"
1289 source "board/spear/spear320/Kconfig"
1290 source "board/spear/spear600/Kconfig"
1291 source "board/spear/x600/Kconfig"
1292 source "board/st/stv0991/Kconfig"
1293 source "board/tcl/sl50/Kconfig"
1294 source "board/birdland/bav335x/Kconfig"
1295 source "board/timll/devkit3250/Kconfig"
1296 source "board/toradex/colibri_pxa270/Kconfig"
1297 source "board/technologic/ts4600/Kconfig"
1298 source "board/vscom/baltos/Kconfig"
1299 source "board/woodburn/Kconfig"
1300 source "board/work-microwave/work_92105/Kconfig"
1301 source "board/zipitz2/Kconfig"
1302
1303 source "arch/arm/Kconfig.debug"
1304
1305 endmenu
1306
1307 config SPL_LDSCRIPT
1308 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3
1309 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1310 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1311
1312