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