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