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