]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/Kconfig
rockchip: enable boot0-hook for all Rockchip SoCs
[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 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 "Support Xilinx ZynqMP 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 help
854 Support for Freescale LS2080AQDS platform
855 The LS2080A Development System (QDS) is a high-performance
856 development platform that supports the QorIQ LS2080A
857 Layerscape Architecture processor.
858
859 config TARGET_LS2080ARDB
860 bool "Support ls2080ardb"
861 select ARCH_LS2080A
862 select ARM64
863 select ARMV8_MULTIENTRY
864 select BOARD_LATE_INIT
865 select SUPPORT_SPL
866 select ARCH_MISC_INIT
867 imply SCSI
868 help
869 Support for Freescale LS2080ARDB platform.
870 The LS2080A Reference design board (RDB) is a high-performance
871 development platform that supports the QorIQ LS2080A
872 Layerscape Architecture processor.
873
874 config TARGET_LS2081ARDB
875 bool "Support ls2081ardb"
876 select ARCH_LS2080A
877 select ARM64
878 select ARMV8_MULTIENTRY
879 select BOARD_LATE_INIT
880 select SUPPORT_SPL
881 select ARCH_MISC_INIT
882 help
883 Support for Freescale LS2081ARDB platform.
884 The LS2081A Reference design board (RDB) is a high-performance
885 development platform that supports the QorIQ LS2081A/LS2041A
886 Layerscape Architecture processor.
887
888 config TARGET_HIKEY
889 bool "Support HiKey 96boards Consumer Edition Platform"
890 select ARM64
891 select DM
892 select DM_GPIO
893 select DM_SERIAL
894 select OF_CONTROL
895 help
896 Support for HiKey 96boards platform. It features a HI6220
897 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
898
899 config TARGET_POPLAR
900 bool "Support Poplar 96boards Enterprise Edition Platform"
901 select ARM64
902 select DM
903 select OF_CONTROL
904 select DM_SERIAL
905 select DM_USB
906 help
907 Support for Poplar 96boards EE platform. It features a HI3798cv200
908 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
909 making it capable of running any commercial set-top solution based on
910 Linux or Android.
911
912 config TARGET_LS1012AQDS
913 bool "Support ls1012aqds"
914 select ARCH_LS1012A
915 select ARM64
916 select BOARD_LATE_INIT
917 help
918 Support for Freescale LS1012AQDS platform.
919 The LS1012A Development System (QDS) is a high-performance
920 development platform that supports the QorIQ LS1012A
921 Layerscape Architecture processor.
922
923 config TARGET_LS1012ARDB
924 bool "Support ls1012ardb"
925 select ARCH_LS1012A
926 select ARM64
927 select BOARD_LATE_INIT
928 imply SCSI
929 help
930 Support for Freescale LS1012ARDB platform.
931 The LS1012A Reference design board (RDB) is a high-performance
932 development platform that supports the QorIQ LS1012A
933 Layerscape Architecture processor.
934
935 config TARGET_LS1012AFRDM
936 bool "Support ls1012afrdm"
937 select ARCH_LS1012A
938 select ARM64
939 help
940 Support for Freescale LS1012AFRDM platform.
941 The LS1012A Freedom board (FRDM) is a high-performance
942 development platform that supports the QorIQ LS1012A
943 Layerscape Architecture processor.
944
945 config TARGET_LS1088ARDB
946 bool "Support ls1088ardb"
947 select ARCH_LS1088A
948 select ARM64
949 select ARMV8_MULTIENTRY
950 select ARCH_MISC_INIT
951 select BOARD_LATE_INIT
952 select SUPPORT_SPL
953 help
954 Support for NXP LS1088ARDB platform.
955 The LS1088A Reference design board (RDB) is a high-performance
956 development platform that supports the QorIQ LS1088A
957 Layerscape Architecture processor.
958
959 config TARGET_LS1021AQDS
960 bool "Support ls1021aqds"
961 select BOARD_LATE_INIT
962 select CPU_V7
963 select CPU_V7_HAS_NONSEC
964 select CPU_V7_HAS_VIRT
965 select SUPPORT_SPL
966 select ARCH_LS1021A
967 select ARCH_SUPPORT_PSCI
968 select LS1_DEEP_SLEEP
969 select SYS_FSL_DDR
970 select BOARD_EARLY_INIT_F
971 imply SCSI
972
973 config TARGET_LS1021ATWR
974 bool "Support ls1021atwr"
975 select BOARD_LATE_INIT
976 select CPU_V7
977 select CPU_V7_HAS_NONSEC
978 select CPU_V7_HAS_VIRT
979 select SUPPORT_SPL
980 select ARCH_LS1021A
981 select ARCH_SUPPORT_PSCI
982 select LS1_DEEP_SLEEP
983 select BOARD_EARLY_INIT_F
984 imply SCSI
985
986 config TARGET_LS1021AIOT
987 bool "Support ls1021aiot"
988 select BOARD_LATE_INIT
989 select CPU_V7
990 select CPU_V7_HAS_NONSEC
991 select CPU_V7_HAS_VIRT
992 select SUPPORT_SPL
993 select ARCH_LS1021A
994 select ARCH_SUPPORT_PSCI
995 imply SCSI
996 help
997 Support for Freescale LS1021AIOT platform.
998 The LS1021A Freescale board (IOT) is a high-performance
999 development platform that supports the QorIQ LS1021A
1000 Layerscape Architecture processor.
1001
1002 config TARGET_LS1043AQDS
1003 bool "Support ls1043aqds"
1004 select ARCH_LS1043A
1005 select ARM64
1006 select ARMV8_MULTIENTRY
1007 select BOARD_LATE_INIT
1008 select SUPPORT_SPL
1009 select BOARD_EARLY_INIT_F
1010 imply SCSI
1011 help
1012 Support for Freescale LS1043AQDS platform.
1013
1014 config TARGET_LS1043ARDB
1015 bool "Support ls1043ardb"
1016 select ARCH_LS1043A
1017 select ARM64
1018 select ARMV8_MULTIENTRY
1019 select BOARD_LATE_INIT
1020 select SUPPORT_SPL
1021 select BOARD_EARLY_INIT_F
1022 imply SCSI
1023 help
1024 Support for Freescale LS1043ARDB platform.
1025
1026 config TARGET_LS1046AQDS
1027 bool "Support ls1046aqds"
1028 select ARCH_LS1046A
1029 select ARM64
1030 select ARMV8_MULTIENTRY
1031 select BOARD_LATE_INIT
1032 select SUPPORT_SPL
1033 select DM_SPI_FLASH if DM_SPI
1034 select BOARD_EARLY_INIT_F
1035 imply SCSI
1036 help
1037 Support for Freescale LS1046AQDS platform.
1038 The LS1046A Development System (QDS) is a high-performance
1039 development platform that supports the QorIQ LS1046A
1040 Layerscape Architecture processor.
1041
1042 config TARGET_LS1046ARDB
1043 bool "Support ls1046ardb"
1044 select ARCH_LS1046A
1045 select ARM64
1046 select ARMV8_MULTIENTRY
1047 select BOARD_LATE_INIT
1048 select SUPPORT_SPL
1049 select DM_SPI_FLASH if DM_SPI
1050 select POWER_MC34VR500
1051 select BOARD_EARLY_INIT_F
1052 imply SCSI
1053 help
1054 Support for Freescale LS1046ARDB platform.
1055 The LS1046A Reference Design Board (RDB) is a high-performance
1056 development platform that supports the QorIQ LS1046A
1057 Layerscape Architecture processor.
1058
1059 config TARGET_H2200
1060 bool "Support h2200"
1061 select CPU_PXA
1062
1063 config TARGET_ZIPITZ2
1064 bool "Support zipitz2"
1065 select CPU_PXA
1066
1067 config TARGET_COLIBRI_PXA270
1068 bool "Support colibri_pxa270"
1069 select CPU_PXA
1070
1071 config ARCH_UNIPHIER
1072 bool "Socionext UniPhier SoCs"
1073 select BOARD_LATE_INIT
1074 select DM
1075 select DM_GPIO
1076 select DM_I2C
1077 select DM_MMC
1078 select DM_RESET
1079 select DM_SERIAL
1080 select DM_USB
1081 select OF_CONTROL
1082 select OF_LIBFDT
1083 select PINCTRL
1084 select SPL_BOARD_INIT if SPL
1085 select SPL_DM if SPL
1086 select SPL_LIBCOMMON_SUPPORT if SPL
1087 select SPL_LIBGENERIC_SUPPORT if SPL
1088 select SPL_OF_CONTROL if SPL
1089 select SPL_PINCTRL if SPL
1090 select SUPPORT_SPL
1091 imply FAT_WRITE
1092 help
1093 Support for UniPhier SoC family developed by Socionext Inc.
1094 (formerly, System LSI Business Division of Panasonic Corporation)
1095
1096 config STM32
1097 bool "Support STM32"
1098 select CPU_V7M
1099 select DM
1100 select DM_SERIAL
1101 select SYS_THUMB_BUILD
1102
1103 config ARCH_STI
1104 bool "Support STMicrolectronics SoCs"
1105 select CPU_V7
1106 select DM
1107 select DM_SERIAL
1108 select BLK
1109 select DM_MMC
1110 select DM_RESET
1111 help
1112 Support for STMicroelectronics STiH407/10 SoC family.
1113 This SoC is used on Linaro 96Board STiH410-B2260
1114
1115 config ARCH_ROCKCHIP
1116 bool "Support Rockchip SoCs"
1117 select OF_CONTROL
1118 select BLK
1119 select DM
1120 select SPL_DM if SPL
1121 select SYS_MALLOC_F
1122 select SYS_THUMB_BUILD if !ARM64
1123 select SPL_SYS_MALLOC_SIMPLE if SPL
1124 select DM_GPIO
1125 select DM_I2C
1126 select DM_MMC
1127 select DM_SERIAL
1128 select DM_SPI
1129 select DM_SPI_FLASH
1130 select DM_USB if USB
1131 select DM_PWM
1132 select DM_REGULATOR
1133 select ENABLE_ARM_SOC_BOOT0_HOOK
1134 imply CMD_FASTBOOT
1135 imply FASTBOOT
1136 imply FAT_WRITE
1137 imply USB_FUNCTION_FASTBOOT
1138 imply SPL_SYSRESET
1139 imply TPL_SYSRESET
1140 imply ADC
1141 imply SARADC_ROCKCHIP
1142
1143 config TARGET_THUNDERX_88XX
1144 bool "Support ThunderX 88xx"
1145 select ARM64
1146 select OF_CONTROL
1147 select SYS_CACHE_SHIFT_7
1148
1149 config ARCH_ASPEED
1150 bool "Support Aspeed SoCs"
1151 select OF_CONTROL
1152 select DM
1153
1154 endchoice
1155
1156 source "arch/arm/mach-aspeed/Kconfig"
1157
1158 source "arch/arm/mach-at91/Kconfig"
1159
1160 source "arch/arm/mach-bcm283x/Kconfig"
1161
1162 source "arch/arm/mach-davinci/Kconfig"
1163
1164 source "arch/arm/mach-exynos/Kconfig"
1165
1166 source "arch/arm/mach-highbank/Kconfig"
1167
1168 source "arch/arm/mach-integrator/Kconfig"
1169
1170 source "arch/arm/mach-keystone/Kconfig"
1171
1172 source "arch/arm/mach-kirkwood/Kconfig"
1173
1174 source "arch/arm/mach-mvebu/Kconfig"
1175
1176 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1177
1178 source "arch/arm/mach-imx/mx2/Kconfig"
1179
1180 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1181
1182 source "arch/arm/mach-imx/mx7/Kconfig"
1183
1184 source "arch/arm/mach-imx/mx6/Kconfig"
1185
1186 source "arch/arm/mach-imx/mx5/Kconfig"
1187
1188 source "arch/arm/mach-omap2/Kconfig"
1189
1190 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1191
1192 source "arch/arm/mach-orion5x/Kconfig"
1193
1194 source "arch/arm/mach-rmobile/Kconfig"
1195
1196 source "arch/arm/mach-meson/Kconfig"
1197
1198 source "arch/arm/mach-qemu/Kconfig"
1199
1200 source "arch/arm/mach-rockchip/Kconfig"
1201
1202 source "arch/arm/mach-s5pc1xx/Kconfig"
1203
1204 source "arch/arm/mach-snapdragon/Kconfig"
1205
1206 source "arch/arm/mach-socfpga/Kconfig"
1207
1208 source "arch/arm/mach-sti/Kconfig"
1209
1210 source "arch/arm/mach-stm32/Kconfig"
1211
1212 source "arch/arm/mach-sunxi/Kconfig"
1213
1214 source "arch/arm/mach-tegra/Kconfig"
1215
1216 source "arch/arm/mach-uniphier/Kconfig"
1217
1218 source "arch/arm/cpu/armv7/vf610/Kconfig"
1219
1220 source "arch/arm/mach-zynq/Kconfig"
1221
1222 source "arch/arm/cpu/armv7/Kconfig"
1223
1224 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1225
1226 source "arch/arm/cpu/armv8/Kconfig"
1227
1228 source "arch/arm/mach-imx/Kconfig"
1229
1230 source "board/aries/m28evk/Kconfig"
1231 source "board/bosch/shc/Kconfig"
1232 source "board/CarMediaLab/flea3/Kconfig"
1233 source "board/Marvell/aspenite/Kconfig"
1234 source "board/Marvell/gplugd/Kconfig"
1235 source "board/armadeus/apf27/Kconfig"
1236 source "board/armltd/vexpress/Kconfig"
1237 source "board/armltd/vexpress64/Kconfig"
1238 source "board/bluegiga/apx4devkit/Kconfig"
1239 source "board/broadcom/bcm23550_w1d/Kconfig"
1240 source "board/broadcom/bcm28155_ap/Kconfig"
1241 source "board/broadcom/bcmcygnus/Kconfig"
1242 source "board/broadcom/bcmnsp/Kconfig"
1243 source "board/broadcom/bcmns2/Kconfig"
1244 source "board/cavium/thunderx/Kconfig"
1245 source "board/cirrus/edb93xx/Kconfig"
1246 source "board/creative/xfi3/Kconfig"
1247 source "board/freescale/ls2080a/Kconfig"
1248 source "board/freescale/ls2080aqds/Kconfig"
1249 source "board/freescale/ls2080ardb/Kconfig"
1250 source "board/freescale/ls1088a/Kconfig"
1251 source "board/freescale/ls1021aqds/Kconfig"
1252 source "board/freescale/ls1043aqds/Kconfig"
1253 source "board/freescale/ls1021atwr/Kconfig"
1254 source "board/freescale/ls1021aiot/Kconfig"
1255 source "board/freescale/ls1046aqds/Kconfig"
1256 source "board/freescale/ls1043ardb/Kconfig"
1257 source "board/freescale/ls1046ardb/Kconfig"
1258 source "board/freescale/ls1012aqds/Kconfig"
1259 source "board/freescale/ls1012ardb/Kconfig"
1260 source "board/freescale/ls1012afrdm/Kconfig"
1261 source "board/freescale/mx23evk/Kconfig"
1262 source "board/freescale/mx28evk/Kconfig"
1263 source "board/freescale/mx31ads/Kconfig"
1264 source "board/freescale/mx31pdk/Kconfig"
1265 source "board/freescale/mx35pdk/Kconfig"
1266 source "board/freescale/s32v234evb/Kconfig"
1267 source "board/gdsys/a38x/Kconfig"
1268 source "board/grinn/chiliboard/Kconfig"
1269 source "board/gumstix/pepper/Kconfig"
1270 source "board/h2200/Kconfig"
1271 source "board/hisilicon/hikey/Kconfig"
1272 source "board/hisilicon/poplar/Kconfig"
1273 source "board/imx31_phycore/Kconfig"
1274 source "board/isee/igep003x/Kconfig"
1275 source "board/olimex/mx23_olinuxino/Kconfig"
1276 source "board/phytec/pcm051/Kconfig"
1277 source "board/ppcag/bg0900/Kconfig"
1278 source "board/sandisk/sansa_fuze_plus/Kconfig"
1279 source "board/schulercontrol/sc_sps_1/Kconfig"
1280 source "board/silica/pengwyn/Kconfig"
1281 source "board/spear/spear300/Kconfig"
1282 source "board/spear/spear310/Kconfig"
1283 source "board/spear/spear320/Kconfig"
1284 source "board/spear/spear600/Kconfig"
1285 source "board/spear/x600/Kconfig"
1286 source "board/st/stv0991/Kconfig"
1287 source "board/tcl/sl50/Kconfig"
1288 source "board/birdland/bav335x/Kconfig"
1289 source "board/timll/devkit3250/Kconfig"
1290 source "board/toradex/colibri_pxa270/Kconfig"
1291 source "board/technologic/ts4600/Kconfig"
1292 source "board/vscom/baltos/Kconfig"
1293 source "board/woodburn/Kconfig"
1294 source "board/work-microwave/work_92105/Kconfig"
1295 source "board/zipitz2/Kconfig"
1296
1297 source "arch/arm/Kconfig.debug"
1298
1299 endmenu
1300
1301 config SPL_LDSCRIPT
1302 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
1303 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1304 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1305
1306