1 menu "ARM architecture"
10 select SYS_CACHE_SHIFT_6
13 config POSITION_INDEPENDENT
14 bool "Generate position-independent pre-relocation code"
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.
23 config SYS_INIT_SP_BSS_OFFSET
26 U-Boot typically uses a hard-coded value for the stack pointer
27 before relocation. Define this option to instead calculate the
28 initial SP at run-time. This is useful to avoid hard-coding addresses
29 into U-Boot, so that can be loaded and executed at arbitrary
30 addresses and thus avoid using arbitrary addresses at runtime. This
31 option's value is the offset added to &_bss_start in order to
32 calculate the stack pointer. This offset should be large enough so
33 that the early malloc region, global data (gd), and early stack usage
34 do not overlap any appended DTB.
36 config LINUX_KERNEL_IMAGE_HEADER
39 Place a Linux kernel image header at the start of the U-Boot binary.
40 The format of the header is described in the Linux kernel source at
41 Documentation/arm64/booting.txt. This feature is useful since the
42 image header reports the amount of memory (BSS and similar) that
43 U-Boot needs to use, but which isn't part of the binary.
45 if LINUX_KERNEL_IMAGE_HEADER
46 config LNX_KRNL_IMG_TEXT_OFFSET_BASE
49 The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
50 TEXT_OFFSET value written in to the Linux kernel image header.
56 default y if ARM64 && !POSITION_INDEPENDENT
58 config DMA_ADDR_T_64BIT
68 # Used for compatibility with asm files copied from the kernel
69 config ARM_ASM_UNIFIED
73 # Used for compatibility with asm files copied from the kernel
77 config SYS_ARM_CACHE_CP15
78 bool "CP15 based cache enabling support"
80 Select this if your processor suports enabling caches by using
84 bool "MMU-based Paged Memory Management Support"
85 select SYS_ARM_CACHE_CP15
87 Select if you want MMU-based virtualised addressing space
88 support by paged memory management.
91 bool 'Use the ARM v7 PMSA Compliant MPU'
93 Some ARM systems without an MMU have instead a Memory Protection
94 Unit (MPU) that defines the type and permissions for regions of
96 If your CPU has an MPU then you should choose 'y' here unless you
97 know that you do not want to use the MPU.
99 # If set, the workarounds for these ARM errata are applied early during U-Boot
100 # startup. Note that in general these options force the workarounds to be
101 # applied; no CPU-type/version detection exists, unlike the similar options in
102 # the Linux kernel. Do not set these options unless they apply! Also note that
103 # the following can be machine specific errata. These do have ability to
104 # provide rudimentary version and machine specific checks, but expect no
106 # CONFIG_ARM_ERRATA_430973
107 # CONFIG_ARM_ERRATA_454179
108 # CONFIG_ARM_ERRATA_621766
109 # CONFIG_ARM_ERRATA_798870
110 # CONFIG_ARM_ERRATA_801819
111 # CONFIG_ARM_CORTEX_A8_CVE_2017_5715
112 # CONFIG_ARM_CORTEX_A15_CVE_2017_5715
114 config ARM_ERRATA_430973
117 config ARM_ERRATA_454179
120 config ARM_ERRATA_621766
123 config ARM_ERRATA_716044
126 config ARM_ERRATA_725233
129 config ARM_ERRATA_742230
132 config ARM_ERRATA_743622
135 config ARM_ERRATA_751472
138 config ARM_ERRATA_761320
141 config ARM_ERRATA_773022
144 config ARM_ERRATA_774769
147 config ARM_ERRATA_794072
150 config ARM_ERRATA_798870
153 config ARM_ERRATA_801819
156 config ARM_ERRATA_826974
159 config ARM_ERRATA_828024
162 config ARM_ERRATA_829520
165 config ARM_ERRATA_833069
168 config ARM_ERRATA_833471
171 config ARM_ERRATA_845369
174 config ARM_ERRATA_852421
177 config ARM_ERRATA_852423
180 config ARM_ERRATA_855873
183 config ARM_CORTEX_A8_CVE_2017_5715
186 config ARM_CORTEX_A15_CVE_2017_5715
191 select SYS_CACHE_SHIFT_5
196 select SYS_CACHE_SHIFT_5
201 select SYS_CACHE_SHIFT_5
206 select SYS_CACHE_SHIFT_5
211 select SYS_CACHE_SHIFT_5
217 select SYS_CACHE_SHIFT_5
224 select SYS_CACHE_SHIFT_6
231 select SYS_CACHE_SHIFT_5
232 select SYS_THUMB_BUILD
238 select SYS_ARM_CACHE_CP15
240 select SYS_CACHE_SHIFT_6
244 select SYS_CACHE_SHIFT_5
249 select SYS_CACHE_SHIFT_5
253 default "arm720t" if CPU_ARM720T
254 default "arm920t" if CPU_ARM920T
255 default "arm926ejs" if CPU_ARM926EJS
256 default "arm946es" if CPU_ARM946ES
257 default "arm1136" if CPU_ARM1136
258 default "arm1176" if CPU_ARM1176
259 default "armv7" if CPU_V7A
260 default "armv7" if CPU_V7R
261 default "armv7m" if CPU_V7M
262 default "pxa" if CPU_PXA
263 default "sa1100" if CPU_SA1100
264 default "armv8" if ARM64
268 default 4 if CPU_ARM720T
269 default 4 if CPU_ARM920T
270 default 5 if CPU_ARM926EJS
271 default 5 if CPU_ARM946ES
272 default 6 if CPU_ARM1136
273 default 6 if CPU_ARM1176
278 default 4 if CPU_SA1100
281 config SYS_CACHE_SHIFT_5
284 config SYS_CACHE_SHIFT_6
287 config SYS_CACHE_SHIFT_7
290 config SYS_CACHELINE_SIZE
292 default 128 if SYS_CACHE_SHIFT_7
293 default 64 if SYS_CACHE_SHIFT_6
294 default 32 if SYS_CACHE_SHIFT_5
296 config SYS_ARCH_TIMER
297 bool "ARM Generic Timer support"
298 depends on CPU_V7A || ARM64
301 The ARM Generic Timer (aka arch-timer) provides an architected
302 interface to a timer source on an SoC.
303 It is mandantory for ARMv8 implementation and widely available
307 bool "Support for ARM SMC Calling Convention (SMCCC)"
308 depends on CPU_V7A || ARM64
311 Say Y here if you want to enable ARM SMC Calling Convention.
312 This should be enabled if U-Boot needs to communicate with system
313 firmware (for example, PSCI) according to SMCCC.
316 bool "support boot from semihosting"
318 In emulated environments, semihosting is a way for
319 the hosted environment to call out to the emulator to
320 retrieve files from the host machine.
322 config SYS_THUMB_BUILD
323 bool "Build U-Boot using the Thumb instruction set"
326 Use this flag to build U-Boot using the Thumb instruction set for
327 ARM architectures. Thumb instruction set provides better code
328 density. For ARM architectures that support Thumb2 this flag will
329 result in Thumb2 code generated by GCC.
331 config SPL_SYS_THUMB_BUILD
332 bool "Build SPL using the Thumb instruction set"
333 default y if SYS_THUMB_BUILD
336 Use this flag to build SPL using the Thumb instruction set for
337 ARM architectures. Thumb instruction set provides better code
338 density. For ARM architectures that support Thumb2 this flag will
339 result in Thumb2 code generated by GCC.
341 config TPL_SYS_THUMB_BUILD
342 bool "Build TPL using the Thumb instruction set"
343 default y if SYS_THUMB_BUILD
344 depends on TPL && !ARM64
346 Use this flag to build SPL using the Thumb instruction set for
347 ARM architectures. Thumb instruction set provides better code
348 density. For ARM architectures that support Thumb2 this flag will
349 result in Thumb2 code generated by GCC.
352 config SYS_L2CACHE_OFF
355 If SoC does not support L2CACHE or one do not want to enable
356 L2CACHE, choose this option.
358 config ENABLE_ARM_SOC_BOOT0_HOOK
359 bool "prepare BOOT0 header"
361 If the SoC's BOOT0 requires a header area filled with (magic)
362 values, then choose this option, and create a file included as
363 <asm/arch/boot0.h> which contains the required assembler code.
365 config ARM_CORTEX_CPU_IS_UP
369 config USE_ARCH_MEMCPY
370 bool "Use an assembly optimized implementation of memcpy"
374 Enable the generation of an optimized version of memcpy.
375 Such implementation may be faster under some conditions
376 but may increase the binary size.
378 config SPL_USE_ARCH_MEMCPY
379 bool "Use an assembly optimized implementation of memcpy for SPL"
380 default y if USE_ARCH_MEMCPY
383 Enable the generation of an optimized version of memcpy.
384 Such implementation may be faster under some conditions
385 but may increase the binary size.
387 config TPL_USE_ARCH_MEMCPY
388 bool "Use an assembly optimized implementation of memcpy for TPL"
389 default y if USE_ARCH_MEMCPY
392 Enable the generation of an optimized version of memcpy.
393 Such implementation may be faster under some conditions
394 but may increase the binary size.
396 config USE_ARCH_MEMSET
397 bool "Use an assembly optimized implementation of memset"
401 Enable the generation of an optimized version of memset.
402 Such implementation may be faster under some conditions
403 but may increase the binary size.
405 config SPL_USE_ARCH_MEMSET
406 bool "Use an assembly optimized implementation of memset for SPL"
407 default y if USE_ARCH_MEMSET
410 Enable the generation of an optimized version of memset.
411 Such implementation may be faster under some conditions
412 but may increase the binary size.
414 config TPL_USE_ARCH_MEMSET
415 bool "Use an assembly optimized implementation of memset for TPL"
416 default y if USE_ARCH_MEMSET
419 Enable the generation of an optimized version of memset.
420 Such implementation may be faster under some conditions
421 but may increase the binary size.
423 config ARM64_SUPPORT_AARCH32
424 bool "ARM64 system support AArch32 execution state"
425 default y if ARM64 && !TARGET_THUNDERX_88XX
427 This ARM64 system supports AArch32 execution state.
430 prompt "Target select"
435 select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
437 config TARGET_EDB93XX
438 bool "Support edb93xx"
442 config TARGET_ASPENITE
443 bool "Support aspenite"
447 bool "Support gplugd"
455 Support for TI's DaVinci platform.
458 bool "Marvell Kirkwood"
459 select ARCH_MISC_INIT
460 select BOARD_EARLY_INIT_F
464 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
484 config TARGET_SPEAR300
485 bool "Support spear300"
486 select BOARD_EARLY_INIT_F
491 config TARGET_SPEAR310
492 bool "Support spear310"
493 select BOARD_EARLY_INIT_F
498 config TARGET_SPEAR320
499 bool "Support spear320"
500 select BOARD_EARLY_INIT_F
505 config TARGET_SPEAR600
506 bool "Support spear600"
507 select BOARD_EARLY_INIT_F
512 config TARGET_STV0991
513 bool "Support stv0991"
526 select BOARD_LATE_INIT
531 config TARGET_WOODBURN
532 bool "Support woodburn"
535 config TARGET_WOODBURN_SD
536 bool "Support woodburn_sd"
544 config TARGET_MX35PDK
545 bool "Support mx35pdk"
546 select BOARD_LATE_INIT
550 bool "Broadcom BCM283X family"
556 select SERIAL_SEARCH_ALL
561 bool "Broadcom BCM63158 family"
567 bool "Broadcom BCM6858 family"
572 config TARGET_VEXPRESS_CA15_TC2
573 bool "Support vexpress_ca15_tc2"
575 select CPU_V7_HAS_NONSEC
576 select CPU_V7_HAS_VIRT
580 bool "Broadcom BCM7XXX family"
584 select OF_PRIOR_STAGE
587 This enables support for Broadcom ARM-based set-top box
588 chipsets, including the 7445 family of chips.
590 config TARGET_VEXPRESS_CA5X2
591 bool "Support vexpress_ca5x2"
595 config TARGET_VEXPRESS_CA9X4
596 bool "Support vexpress_ca9x4"
600 config TARGET_BCM23550_W1D
601 bool "Support bcm23550_w1d"
606 config TARGET_BCM28155_AP
607 bool "Support bcm28155_ap"
612 config TARGET_BCMCYGNUS
613 bool "Support bcmcygnus"
616 imply BCM_SF2_ETH_GMAC
624 bool "Support bcmnsp"
628 bool "Support Broadcom Northstar2"
631 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
632 ARMv8 Cortex-A57 processors targeting a broad range of networking
636 bool "Samsung EXYNOS"
645 imply SYS_THUMB_BUILD
650 bool "Samsung S5PC1XX"
659 bool "Calxeda Highbank"
663 config ARCH_INTEGRATOR
664 bool "ARM Ltd. Integrator family"
675 select SYS_ARCH_TIMER
676 select SYS_THUMB_BUILD
682 bool "Texas Instruments' K3 Architecture"
687 config ARCH_OMAP2PLUS
690 select SPL_BOARD_INIT if SPL
691 select SPL_STACK_R if SPL
697 imply DISTRO_DEFAULTS
699 Support for the Meson SoC family developed by Amlogic Inc.,
700 targeted at media players and tablet computers. We currently
701 support the S905 (GXBaby) 64-bit SoC.
709 select SPL_LIBCOMMON_SUPPORT if SPL
710 select SPL_LIBGENERIC_SUPPORT if SPL
711 select SPL_OF_CONTROL if SPL
714 Support for the MediaTek SoCs family developed by MediaTek Inc.
715 Please refer to doc/README.mediatek for more information.
718 bool "NXP LPC32xx platform"
728 bool "NXP i.MX8 platform"
734 bool "NXP i.MX8M platform"
741 bool "NXP i.MX23 family"
752 bool "NXP i.MX28 family"
758 bool "NXP i.MX31 family"
764 select ROM_UNIFIED_SECTIONS
769 select ARCH_MISC_INIT
770 select BOARD_EARLY_INIT_F
772 select SYS_FSL_HAS_SEC if SECURE_BOOT
773 select SYS_FSL_SEC_COMPAT_4
774 select SYS_FSL_SEC_LE
780 select SYS_FSL_HAS_SEC if SECURE_BOOT
781 select SYS_FSL_SEC_COMPAT_4
782 select SYS_FSL_SEC_LE
783 select SYS_THUMB_BUILD if SPL
788 default "arch/arm/mach-omap2/u-boot-spl.lds"
793 select BOARD_EARLY_INIT_F
798 bool "Actions Semi OWL SoCs"
806 bool "QEMU Virtual Platform"
816 bool "Renesas ARM SoCs"
817 select BOARD_EARLY_INIT_F if !RZA1
822 imply SYS_THUMB_BUILD
823 imply ARCH_MISC_INIT if DISPLAY_CPUINFO
825 config TARGET_S32V234EVB
826 bool "Support s32v234evb"
828 select SYS_FSL_ERRATUM_ESDHC111
830 config ARCH_SNAPDRAGON
831 bool "Qualcomm Snapdragon SoCs"
844 bool "Altera SOCFPGA family"
845 select ARCH_EARLY_INIT_R
846 select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
847 select ARM64 if TARGET_SOCFPGA_STRATIX10
848 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
851 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
853 select SPL_DM_RESET if DM_RESET
855 select SPL_LIBCOMMON_SUPPORT
856 select SPL_LIBGENERIC_SUPPORT
857 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
858 select SPL_OF_CONTROL
859 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
860 select SPL_SERIAL_SUPPORT
861 select SPL_WATCHDOG_SUPPORT
864 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
873 imply SPL_LIBDISK_SUPPORT
874 imply SPL_MMC_SUPPORT
875 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
876 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
877 imply SPL_SPI_FLASH_SUPPORT
878 imply SPL_SPI_SUPPORT
882 bool "Support sunxi (Allwinner) SoCs"
885 select CMD_MMC if MMC
886 select CMD_USB if DISTRO_DEFAULTS
893 select DM_SCSI if SCSI
895 select DM_USB if DISTRO_DEFAULTS
896 select OF_BOARD_SETUP
899 select SPECIFY_CONSOLE_INDEX
900 select SPL_STACK_R if SPL
901 select SPL_SYS_MALLOC_SIMPLE if SPL
902 select SPL_SYS_THUMB_BUILD if !ARM64
904 select SYS_THUMB_BUILD if !ARM64
905 select USB if DISTRO_DEFAULTS
906 select USB_KEYBOARD if DISTRO_DEFAULTS
907 select USB_STORAGE if DISTRO_DEFAULTS
908 select USE_TINY_PRINTF
911 imply CMD_UBI if NAND
912 imply DISTRO_DEFAULTS
915 imply OF_LIBFDT_OVERLAY
916 imply PRE_CONSOLE_BUFFER
917 imply SPL_GPIO_SUPPORT
918 imply SPL_LIBCOMMON_SUPPORT
919 imply SPL_LIBGENERIC_SUPPORT
920 imply SPL_MMC_SUPPORT if MMC
921 imply SPL_POWER_SUPPORT
922 imply SPL_SERIAL_SUPPORT
926 bool "Support Xilinx Versal Platform"
936 bool "Freescale Vybrid"
938 select SYS_FSL_ERRATUM_ESDHC111
943 bool "Xilinx Zynq based platform"
944 select BOARD_EARLY_INIT_F if WDT
957 select SPL_BOARD_INIT if SPL
958 select SPL_CLK if SPL
960 select SPL_OF_CONTROL if SPL
961 select SPL_SEPARATE_BSS if SPL
963 imply ARCH_EARLY_INIT_R
964 imply BOARD_LATE_INIT
970 config ARCH_ZYNQMP_R5
971 bool "Xilinx ZynqMP R5 based platform"
983 bool "Xilinx ZynqMP based platform"
991 select DM_SPI_FLASH if DM_SPI
994 select SPL_BOARD_INIT if SPL
995 select SPL_CLK if SPL
996 select SPL_SEPARATE_BSS if SPL
998 imply BOARD_LATE_INIT
1006 imply DISTRO_DEFAULTS
1009 config TARGET_VEXPRESS64_AEMV8A
1010 bool "Support vexpress_aemv8a"
1014 config TARGET_VEXPRESS64_BASE_FVP
1015 bool "Support Versatile Express ARMv8a FVP BASE model"
1020 config TARGET_VEXPRESS64_BASE_FVP_DRAM
1021 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
1025 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
1026 the default config to allow the user to load the images directly into
1027 DRAM using model parameters rather than by using semi-hosting to load
1028 the files from the host filesystem.
1030 config TARGET_VEXPRESS64_JUNO
1031 bool "Support Versatile Express Juno Development Platform"
1035 config TARGET_LS2080A_EMU
1036 bool "Support ls2080a_emu"
1038 select ARCH_MISC_INIT
1040 select ARMV8_MULTIENTRY
1041 select FSL_DDR_SYNC_REFRESH
1043 Support for Freescale LS2080A_EMU platform
1044 The LS2080A Development System (EMULATOR) is a pre silicon
1045 development platform that supports the QorIQ LS2080A
1046 Layerscape Architecture processor.
1048 config TARGET_LS2080A_SIMU
1049 bool "Support ls2080a_simu"
1051 select ARCH_MISC_INIT
1053 select ARMV8_MULTIENTRY
1055 Support for Freescale LS2080A_SIMU platform
1056 The LS2080A Development System (QDS) is a pre silicon
1057 development platform that supports the QorIQ LS2080A
1058 Layerscape Architecture processor.
1060 config TARGET_LS1088AQDS
1061 bool "Support ls1088aqds"
1063 select ARCH_MISC_INIT
1065 select ARMV8_MULTIENTRY
1066 select BOARD_LATE_INIT
1068 select FSL_DDR_INTERACTIVE if !SD_BOOT
1070 Support for NXP LS1088AQDS platform
1071 The LS1088A Development System (QDS) is a high-performance
1072 development platform that supports the QorIQ LS1088A
1073 Layerscape Architecture processor.
1075 config TARGET_LS2080AQDS
1076 bool "Support ls2080aqds"
1078 select ARCH_MISC_INIT
1080 select ARMV8_MULTIENTRY
1081 select BOARD_LATE_INIT
1086 select FSL_DDR_INTERACTIVE if !SPL
1088 Support for Freescale LS2080AQDS platform
1089 The LS2080A Development System (QDS) is a high-performance
1090 development platform that supports the QorIQ LS2080A
1091 Layerscape Architecture processor.
1093 config TARGET_LS2080ARDB
1094 bool "Support ls2080ardb"
1096 select ARCH_MISC_INIT
1098 select ARMV8_MULTIENTRY
1099 select BOARD_LATE_INIT
1102 select FSL_DDR_INTERACTIVE if !SPL
1106 Support for Freescale LS2080ARDB platform.
1107 The LS2080A Reference design board (RDB) is a high-performance
1108 development platform that supports the QorIQ LS2080A
1109 Layerscape Architecture processor.
1111 config TARGET_LS2081ARDB
1112 bool "Support ls2081ardb"
1114 select ARCH_MISC_INIT
1116 select ARMV8_MULTIENTRY
1117 select BOARD_LATE_INIT
1120 Support for Freescale LS2081ARDB platform.
1121 The LS2081A Reference design board (RDB) is a high-performance
1122 development platform that supports the QorIQ LS2081A/LS2041A
1123 Layerscape Architecture processor.
1125 config TARGET_LX2160ARDB
1126 bool "Support lx2160ardb"
1128 select ARCH_MISC_INIT
1130 select ARMV8_MULTIENTRY
1131 select BOARD_LATE_INIT
1133 Support for NXP LX2160ARDB platform.
1134 The lx2160ardb (LX2160A Reference design board (RDB)
1135 is a high-performance development platform that supports the
1136 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1138 config TARGET_LX2160AQDS
1139 bool "Support lx2160aqds"
1141 select ARCH_MISC_INIT
1143 select ARMV8_MULTIENTRY
1144 select BOARD_LATE_INIT
1146 Support for NXP LX2160AQDS platform.
1147 The lx2160aqds (LX2160A QorIQ Development System (QDS)
1148 is a high-performance development platform that supports the
1149 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1152 bool "Support HiKey 96boards Consumer Edition Platform"
1159 select SPECIFY_CONSOLE_INDEX
1162 Support for HiKey 96boards platform. It features a HI6220
1163 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1165 config TARGET_POPLAR
1166 bool "Support Poplar 96boards Enterprise Edition Platform"
1175 Support for Poplar 96boards EE platform. It features a HI3798cv200
1176 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1177 making it capable of running any commercial set-top solution based on
1180 config TARGET_LS1012AQDS
1181 bool "Support ls1012aqds"
1184 select BOARD_LATE_INIT
1186 Support for Freescale LS1012AQDS platform.
1187 The LS1012A Development System (QDS) is a high-performance
1188 development platform that supports the QorIQ LS1012A
1189 Layerscape Architecture processor.
1191 config TARGET_LS1012ARDB
1192 bool "Support ls1012ardb"
1195 select BOARD_LATE_INIT
1199 Support for Freescale LS1012ARDB platform.
1200 The LS1012A Reference design board (RDB) is a high-performance
1201 development platform that supports the QorIQ LS1012A
1202 Layerscape Architecture processor.
1204 config TARGET_LS1012A2G5RDB
1205 bool "Support ls1012a2g5rdb"
1208 select BOARD_LATE_INIT
1211 Support for Freescale LS1012A2G5RDB platform.
1212 The LS1012A 2G5 Reference design board (RDB) is a high-performance
1213 development platform that supports the QorIQ LS1012A
1214 Layerscape Architecture processor.
1216 config TARGET_LS1012AFRWY
1217 bool "Support ls1012afrwy"
1220 select BOARD_LATE_INIT
1224 Support for Freescale LS1012AFRWY platform.
1225 The LS1012A FRWY board (FRWY) is a high-performance
1226 development platform that supports the QorIQ LS1012A
1227 Layerscape Architecture processor.
1229 config TARGET_LS1012AFRDM
1230 bool "Support ls1012afrdm"
1234 Support for Freescale LS1012AFRDM platform.
1235 The LS1012A Freedom board (FRDM) is a high-performance
1236 development platform that supports the QorIQ LS1012A
1237 Layerscape Architecture processor.
1239 config TARGET_LS1088ARDB
1240 bool "Support ls1088ardb"
1242 select ARCH_MISC_INIT
1244 select ARMV8_MULTIENTRY
1245 select BOARD_LATE_INIT
1247 select FSL_DDR_INTERACTIVE if !SD_BOOT
1249 Support for NXP LS1088ARDB platform.
1250 The LS1088A Reference design board (RDB) is a high-performance
1251 development platform that supports the QorIQ LS1088A
1252 Layerscape Architecture processor.
1254 config TARGET_LS1021AQDS
1255 bool "Support ls1021aqds"
1257 select ARCH_SUPPORT_PSCI
1258 select BOARD_EARLY_INIT_F
1259 select BOARD_LATE_INIT
1261 select CPU_V7_HAS_NONSEC
1262 select CPU_V7_HAS_VIRT
1263 select LS1_DEEP_SLEEP
1266 select FSL_DDR_INTERACTIVE
1269 config TARGET_LS1021ATWR
1270 bool "Support ls1021atwr"
1272 select ARCH_SUPPORT_PSCI
1273 select BOARD_EARLY_INIT_F
1274 select BOARD_LATE_INIT
1276 select CPU_V7_HAS_NONSEC
1277 select CPU_V7_HAS_VIRT
1278 select LS1_DEEP_SLEEP
1282 config TARGET_LS1021AIOT
1283 bool "Support ls1021aiot"
1285 select ARCH_SUPPORT_PSCI
1286 select BOARD_LATE_INIT
1288 select CPU_V7_HAS_NONSEC
1289 select CPU_V7_HAS_VIRT
1293 Support for Freescale LS1021AIOT platform.
1294 The LS1021A Freescale board (IOT) is a high-performance
1295 development platform that supports the QorIQ LS1021A
1296 Layerscape Architecture processor.
1298 config TARGET_LS1043AQDS
1299 bool "Support ls1043aqds"
1302 select ARMV8_MULTIENTRY
1303 select BOARD_EARLY_INIT_F
1304 select BOARD_LATE_INIT
1306 select FSL_DDR_INTERACTIVE if !SPL
1310 Support for Freescale LS1043AQDS platform.
1312 config TARGET_LS1043ARDB
1313 bool "Support ls1043ardb"
1316 select ARMV8_MULTIENTRY
1317 select BOARD_EARLY_INIT_F
1318 select BOARD_LATE_INIT
1321 Support for Freescale LS1043ARDB platform.
1323 config TARGET_LS1046AQDS
1324 bool "Support ls1046aqds"
1327 select ARMV8_MULTIENTRY
1328 select BOARD_EARLY_INIT_F
1329 select BOARD_LATE_INIT
1330 select DM_SPI_FLASH if DM_SPI
1332 select FSL_DDR_BIST if !SPL
1333 select FSL_DDR_INTERACTIVE if !SPL
1334 select FSL_DDR_INTERACTIVE if !SPL
1337 Support for Freescale LS1046AQDS platform.
1338 The LS1046A Development System (QDS) is a high-performance
1339 development platform that supports the QorIQ LS1046A
1340 Layerscape Architecture processor.
1342 config TARGET_LS1046ARDB
1343 bool "Support ls1046ardb"
1346 select ARMV8_MULTIENTRY
1347 select BOARD_EARLY_INIT_F
1348 select BOARD_LATE_INIT
1349 select DM_SPI_FLASH if DM_SPI
1350 select POWER_MC34VR500
1353 select FSL_DDR_INTERACTIVE if !SPL
1356 Support for Freescale LS1046ARDB platform.
1357 The LS1046A Reference Design Board (RDB) is a high-performance
1358 development platform that supports the QorIQ LS1046A
1359 Layerscape Architecture processor.
1362 bool "Support h2200"
1365 config TARGET_ZIPITZ2
1366 bool "Support zipitz2"
1369 config TARGET_COLIBRI_PXA270
1370 bool "Support colibri_pxa270"
1373 config ARCH_UNIPHIER
1374 bool "Socionext UniPhier SoCs"
1375 select BOARD_LATE_INIT
1383 select OF_BOARD_SETUP
1387 select SPL_BOARD_INIT if SPL
1388 select SPL_DM if SPL
1389 select SPL_LIBCOMMON_SUPPORT if SPL
1390 select SPL_LIBGENERIC_SUPPORT if SPL
1391 select SPL_OF_CONTROL if SPL
1392 select SPL_PINCTRL if SPL
1395 imply DISTRO_DEFAULTS
1398 Support for UniPhier SoC family developed by Socionext Inc.
1399 (formerly, System LSI Business Division of Panasonic Corporation)
1402 bool "Support STMicroelectronics STM32 MCU with cortex M"
1409 bool "Support STMicrolectronics SoCs"
1418 Support for STMicroelectronics STiH407/10 SoC family.
1419 This SoC is used on Linaro 96Board STiH410-B2260
1422 bool "Support STMicroelectronics STM32MP Socs with cortex A"
1423 select ARCH_MISC_INIT
1424 select BOARD_LATE_INIT
1438 select SYS_THUMB_BUILD
1442 imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1444 Support for STM32MP SoC family developed by STMicroelectronics,
1445 MPUs based on ARM cortex A core
1446 U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
1447 FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
1449 SPL is the unsecure FSBL for the basic boot chain.
1451 config ARCH_ROCKCHIP
1452 bool "Support Rockchip SoCs"
1463 select DM_USB if USB
1464 select ENABLE_ARM_SOC_BOOT0_HOOK
1467 select SPL_DM if SPL
1468 select SPL_SYS_MALLOC_SIMPLE if SPL
1470 select SYS_THUMB_BUILD if !ARM64
1473 imply DEBUG_UART_BOARD_INIT
1474 imply DISTRO_DEFAULTS
1476 imply SARADC_ROCKCHIP
1480 imply USB_FUNCTION_FASTBOOT
1482 config TARGET_THUNDERX_88XX
1483 bool "Support ThunderX 88xx"
1487 select SYS_CACHE_SHIFT_7
1490 bool "Support Aspeed SoCs"
1497 config TI_SECURE_DEVICE
1498 bool "HS Device Type Support"
1499 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1501 If a high secure (HS) device type is being used, this config
1502 must be set. This option impacts various aspects of the
1503 build system (to create signed boot images that can be
1504 authenticated) and the code. See the doc/README.ti-secure
1505 file for further details.
1507 if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
1508 config ISW_ENTRY_ADDR
1509 hex "Address in memory or XIP address of bootloader entry point"
1510 default 0x402F4000 if AM43XX
1511 default 0x402F0400 if AM33XX
1512 default 0x40301350 if OMAP54XX
1514 After any reset, the boot ROM searches the boot media for a valid
1515 boot image. For non-XIP devices, the ROM then copies the image into
1516 internal memory. For all boot modes, after the ROM processes the
1517 boot image it eventually computes the entry point address depending
1518 on the device type (secure/non-secure), boot media (xip/non-xip) and
1522 source "arch/arm/mach-aspeed/Kconfig"
1524 source "arch/arm/mach-at91/Kconfig"
1526 source "arch/arm/mach-bcm283x/Kconfig"
1528 source "arch/arm/mach-bcmstb/Kconfig"
1530 source "arch/arm/mach-davinci/Kconfig"
1532 source "arch/arm/mach-exynos/Kconfig"
1534 source "arch/arm/mach-highbank/Kconfig"
1536 source "arch/arm/mach-integrator/Kconfig"
1538 source "arch/arm/mach-k3/Kconfig"
1540 source "arch/arm/mach-keystone/Kconfig"
1542 source "arch/arm/mach-kirkwood/Kconfig"
1544 source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
1546 source "arch/arm/mach-mvebu/Kconfig"
1548 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1550 source "arch/arm/mach-imx/mx2/Kconfig"
1552 source "arch/arm/mach-imx/mx3/Kconfig"
1554 source "arch/arm/mach-imx/mx5/Kconfig"
1556 source "arch/arm/mach-imx/mx6/Kconfig"
1558 source "arch/arm/mach-imx/mx7/Kconfig"
1560 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1562 source "arch/arm/mach-imx/imx8/Kconfig"
1564 source "arch/arm/mach-imx/imx8m/Kconfig"
1566 source "arch/arm/mach-imx/mxs/Kconfig"
1568 source "arch/arm/mach-omap2/Kconfig"
1570 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1572 source "arch/arm/mach-orion5x/Kconfig"
1574 source "arch/arm/mach-owl/Kconfig"
1576 source "arch/arm/mach-rmobile/Kconfig"
1578 source "arch/arm/mach-meson/Kconfig"
1580 source "arch/arm/mach-mediatek/Kconfig"
1582 source "arch/arm/mach-qemu/Kconfig"
1584 source "arch/arm/mach-rockchip/Kconfig"
1586 source "arch/arm/mach-s5pc1xx/Kconfig"
1588 source "arch/arm/mach-snapdragon/Kconfig"
1590 source "arch/arm/mach-socfpga/Kconfig"
1592 source "arch/arm/mach-sti/Kconfig"
1594 source "arch/arm/mach-stm32/Kconfig"
1596 source "arch/arm/mach-stm32mp/Kconfig"
1598 source "arch/arm/mach-sunxi/Kconfig"
1600 source "arch/arm/mach-tegra/Kconfig"
1602 source "arch/arm/mach-uniphier/Kconfig"
1604 source "arch/arm/cpu/armv7/vf610/Kconfig"
1606 source "arch/arm/mach-zynq/Kconfig"
1608 source "arch/arm/mach-zynqmp/Kconfig"
1610 source "arch/arm/mach-versal/Kconfig"
1612 source "arch/arm/mach-zynqmp-r5/Kconfig"
1614 source "arch/arm/cpu/armv7/Kconfig"
1616 source "arch/arm/cpu/armv8/Kconfig"
1618 source "arch/arm/mach-imx/Kconfig"
1620 source "board/bosch/shc/Kconfig"
1621 source "board/bosch/guardian/Kconfig"
1622 source "board/CarMediaLab/flea3/Kconfig"
1623 source "board/Marvell/aspenite/Kconfig"
1624 source "board/Marvell/gplugd/Kconfig"
1625 source "board/armadeus/apf27/Kconfig"
1626 source "board/armltd/vexpress/Kconfig"
1627 source "board/armltd/vexpress64/Kconfig"
1628 source "board/broadcom/bcm23550_w1d/Kconfig"
1629 source "board/broadcom/bcm28155_ap/Kconfig"
1630 source "board/broadcom/bcm963158/Kconfig"
1631 source "board/broadcom/bcm968580xref/Kconfig"
1632 source "board/broadcom/bcmcygnus/Kconfig"
1633 source "board/broadcom/bcmnsp/Kconfig"
1634 source "board/broadcom/bcmns2/Kconfig"
1635 source "board/cavium/thunderx/Kconfig"
1636 source "board/cirrus/edb93xx/Kconfig"
1637 source "board/eets/pdu001/Kconfig"
1638 source "board/emulation/qemu-arm/Kconfig"
1639 source "board/freescale/ls2080a/Kconfig"
1640 source "board/freescale/ls2080aqds/Kconfig"
1641 source "board/freescale/ls2080ardb/Kconfig"
1642 source "board/freescale/ls1088a/Kconfig"
1643 source "board/freescale/ls1021aqds/Kconfig"
1644 source "board/freescale/ls1043aqds/Kconfig"
1645 source "board/freescale/ls1021atwr/Kconfig"
1646 source "board/freescale/ls1021aiot/Kconfig"
1647 source "board/freescale/ls1046aqds/Kconfig"
1648 source "board/freescale/ls1043ardb/Kconfig"
1649 source "board/freescale/ls1046ardb/Kconfig"
1650 source "board/freescale/ls1012aqds/Kconfig"
1651 source "board/freescale/ls1012ardb/Kconfig"
1652 source "board/freescale/ls1012afrdm/Kconfig"
1653 source "board/freescale/lx2160a/Kconfig"
1654 source "board/freescale/mx35pdk/Kconfig"
1655 source "board/freescale/s32v234evb/Kconfig"
1656 source "board/grinn/chiliboard/Kconfig"
1657 source "board/gumstix/pepper/Kconfig"
1658 source "board/h2200/Kconfig"
1659 source "board/hisilicon/hikey/Kconfig"
1660 source "board/hisilicon/poplar/Kconfig"
1661 source "board/isee/igep003x/Kconfig"
1662 source "board/phytec/pcm051/Kconfig"
1663 source "board/silica/pengwyn/Kconfig"
1664 source "board/spear/spear300/Kconfig"
1665 source "board/spear/spear310/Kconfig"
1666 source "board/spear/spear320/Kconfig"
1667 source "board/spear/spear600/Kconfig"
1668 source "board/spear/x600/Kconfig"
1669 source "board/st/stv0991/Kconfig"
1670 source "board/tcl/sl50/Kconfig"
1671 source "board/ucRobotics/bubblegum_96/Kconfig"
1672 source "board/birdland/bav335x/Kconfig"
1673 source "board/toradex/colibri_pxa270/Kconfig"
1674 source "board/variscite/dart_6ul/Kconfig"
1675 source "board/vscom/baltos/Kconfig"
1676 source "board/woodburn/Kconfig"
1677 source "board/xilinx/Kconfig"
1678 source "board/xilinx/zynq/Kconfig"
1679 source "board/xilinx/zynqmp/Kconfig"
1680 source "board/zipitz2/Kconfig"
1682 source "arch/arm/Kconfig.debug"
1687 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1688 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1689 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64