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 SYS_L2CACHE_OFF
344 If SoC does not support L2CACHE or one do not want to enable
345 L2CACHE, choose this option.
347 config ENABLE_ARM_SOC_BOOT0_HOOK
348 bool "prepare BOOT0 header"
350 If the SoC's BOOT0 requires a header area filled with (magic)
351 values, then choose this option, and create a file included as
352 <asm/arch/boot0.h> which contains the required assembler code.
354 config ARM_CORTEX_CPU_IS_UP
358 config USE_ARCH_MEMCPY
359 bool "Use an assembly optimized implementation of memcpy"
363 Enable the generation of an optimized version of memcpy.
364 Such implementation may be faster under some conditions
365 but may increase the binary size.
367 config SPL_USE_ARCH_MEMCPY
368 bool "Use an assembly optimized implementation of memcpy for SPL"
369 default y if USE_ARCH_MEMCPY
372 Enable the generation of an optimized version of memcpy.
373 Such implementation may be faster under some conditions
374 but may increase the binary size.
376 config USE_ARCH_MEMSET
377 bool "Use an assembly optimized implementation of memset"
381 Enable the generation of an optimized version of memset.
382 Such implementation may be faster under some conditions
383 but may increase the binary size.
385 config SPL_USE_ARCH_MEMSET
386 bool "Use an assembly optimized implementation of memset for SPL"
387 default y if USE_ARCH_MEMSET
390 Enable the generation of an optimized version of memset.
391 Such implementation may be faster under some conditions
392 but may increase the binary size.
394 config ARM64_SUPPORT_AARCH32
395 bool "ARM64 system support AArch32 execution state"
396 default y if ARM64 && !TARGET_THUNDERX_88XX
398 This ARM64 system supports AArch32 execution state.
401 prompt "Target select"
406 select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB
408 config TARGET_EDB93XX
409 bool "Support edb93xx"
413 config TARGET_ASPENITE
414 bool "Support aspenite"
418 bool "Support gplugd"
426 Support for TI's DaVinci platform.
429 bool "Marvell Kirkwood"
430 select ARCH_MISC_INIT
431 select BOARD_EARLY_INIT_F
435 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
455 config TARGET_SPEAR300
456 bool "Support spear300"
457 select BOARD_EARLY_INIT_F
462 config TARGET_SPEAR310
463 bool "Support spear310"
464 select BOARD_EARLY_INIT_F
469 config TARGET_SPEAR320
470 bool "Support spear320"
471 select BOARD_EARLY_INIT_F
476 config TARGET_SPEAR600
477 bool "Support spear600"
478 select BOARD_EARLY_INIT_F
483 config TARGET_STV0991
484 bool "Support stv0991"
497 select BOARD_LATE_INIT
502 config TARGET_WOODBURN
503 bool "Support woodburn"
506 config TARGET_WOODBURN_SD
507 bool "Support woodburn_sd"
515 config TARGET_MX35PDK
516 bool "Support mx35pdk"
517 select BOARD_LATE_INIT
521 bool "Broadcom BCM283X family"
527 select SERIAL_SEARCH_ALL
532 bool "Broadcom BCM63158 family"
538 bool "Broadcom BCM6858 family"
543 config TARGET_VEXPRESS_CA15_TC2
544 bool "Support vexpress_ca15_tc2"
546 select CPU_V7_HAS_NONSEC
547 select CPU_V7_HAS_VIRT
551 bool "Broadcom BCM7XXX family"
555 select OF_PRIOR_STAGE
558 This enables support for Broadcom ARM-based set-top box
559 chipsets, including the 7445 family of chips.
561 config TARGET_VEXPRESS_CA5X2
562 bool "Support vexpress_ca5x2"
566 config TARGET_VEXPRESS_CA9X4
567 bool "Support vexpress_ca9x4"
571 config TARGET_BCM23550_W1D
572 bool "Support bcm23550_w1d"
577 config TARGET_BCM28155_AP
578 bool "Support bcm28155_ap"
583 config TARGET_BCMCYGNUS
584 bool "Support bcmcygnus"
587 imply BCM_SF2_ETH_GMAC
595 bool "Support bcmnsp"
599 bool "Support Broadcom Northstar2"
602 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
603 ARMv8 Cortex-A57 processors targeting a broad range of networking
607 bool "Samsung EXYNOS"
616 imply SYS_THUMB_BUILD
621 bool "Samsung S5PC1XX"
630 bool "Calxeda Highbank"
634 config ARCH_INTEGRATOR
635 bool "ARM Ltd. Integrator family"
646 select SYS_ARCH_TIMER
647 select SYS_THUMB_BUILD
653 bool "Texas Instruments' K3 Architecture"
658 config ARCH_OMAP2PLUS
661 select SPL_BOARD_INIT if SPL
662 select SPL_STACK_R if SPL
668 imply DISTRO_DEFAULTS
670 Support for the Meson SoC family developed by Amlogic Inc.,
671 targeted at media players and tablet computers. We currently
672 support the S905 (GXBaby) 64-bit SoC.
680 select SPL_LIBCOMMON_SUPPORT if SPL
681 select SPL_LIBGENERIC_SUPPORT if SPL
682 select SPL_OF_CONTROL if SPL
685 Support for the MediaTek SoCs family developed by MediaTek Inc.
686 Please refer to doc/README.mediatek for more information.
689 bool "NXP LPC32xx platform"
699 bool "NXP i.MX8 platform"
705 bool "NXP i.MX8M platform"
712 bool "NXP i.MX23 family"
723 bool "NXP i.MX28 family"
729 bool "NXP i.MX31 family"
735 select ROM_UNIFIED_SECTIONS
740 select ARCH_MISC_INIT
741 select BOARD_EARLY_INIT_F
743 select SYS_FSL_HAS_SEC if SECURE_BOOT
744 select SYS_FSL_SEC_COMPAT_4
745 select SYS_FSL_SEC_LE
751 select SYS_FSL_HAS_SEC if SECURE_BOOT
752 select SYS_FSL_SEC_COMPAT_4
753 select SYS_FSL_SEC_LE
754 select SYS_THUMB_BUILD if SPL
759 default "arch/arm/mach-omap2/u-boot-spl.lds"
764 select BOARD_EARLY_INIT_F
769 bool "Actions Semi OWL SoCs"
777 bool "QEMU Virtual Platform"
787 bool "Renesas ARM SoCs"
788 select BOARD_EARLY_INIT_F
793 imply SYS_THUMB_BUILD
794 imply ARCH_MISC_INIT if DISPLAY_CPUINFO
796 config TARGET_S32V234EVB
797 bool "Support s32v234evb"
799 select SYS_FSL_ERRATUM_ESDHC111
801 config ARCH_SNAPDRAGON
802 bool "Qualcomm Snapdragon SoCs"
815 bool "Altera SOCFPGA family"
816 select ARCH_EARLY_INIT_R
817 select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10
818 select ARM64 if TARGET_SOCFPGA_STRATIX10
819 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
822 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
824 select SPL_DM_RESET if DM_RESET
826 select SPL_LIBCOMMON_SUPPORT
827 select SPL_LIBGENERIC_SUPPORT
828 select SPL_NAND_SUPPORT if SPL_NAND_DENALI
829 select SPL_OF_CONTROL
830 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10
831 select SPL_SERIAL_SUPPORT
832 select SPL_WATCHDOG_SUPPORT
835 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10
844 imply SPL_LIBDISK_SUPPORT
845 imply SPL_MMC_SUPPORT
846 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
847 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
848 imply SPL_SPI_FLASH_SUPPORT
849 imply SPL_SPI_SUPPORT
853 bool "Support sunxi (Allwinner) SoCs"
856 select CMD_MMC if MMC
857 select CMD_USB if DISTRO_DEFAULTS
864 select DM_SCSI if SCSI
866 select DM_USB if DISTRO_DEFAULTS
867 select OF_BOARD_SETUP
870 select SPECIFY_CONSOLE_INDEX
871 select SPL_STACK_R if SPL
872 select SPL_SYS_MALLOC_SIMPLE if SPL
873 select SPL_SYS_THUMB_BUILD if !ARM64
875 select SYS_THUMB_BUILD if !ARM64
876 select USB if DISTRO_DEFAULTS
877 select USB_KEYBOARD if DISTRO_DEFAULTS
878 select USB_STORAGE if DISTRO_DEFAULTS
879 select USE_TINY_PRINTF
882 imply CMD_UBI if NAND
883 imply DISTRO_DEFAULTS
886 imply OF_LIBFDT_OVERLAY
887 imply PRE_CONSOLE_BUFFER
888 imply SPL_GPIO_SUPPORT
889 imply SPL_LIBCOMMON_SUPPORT
890 imply SPL_LIBGENERIC_SUPPORT
891 imply SPL_MMC_SUPPORT if MMC
892 imply SPL_POWER_SUPPORT
893 imply SPL_SERIAL_SUPPORT
897 bool "Support Xilinx Versal Platform"
907 bool "Freescale Vybrid"
909 select SYS_FSL_ERRATUM_ESDHC111
914 bool "Xilinx Zynq based platform"
915 select BOARD_EARLY_INIT_F if WDT
928 select SPL_BOARD_INIT if SPL
929 select SPL_CLK if SPL
931 select SPL_OF_CONTROL if SPL
932 select SPL_SEPARATE_BSS if SPL
934 imply ARCH_EARLY_INIT_R
935 imply BOARD_LATE_INIT
941 config ARCH_ZYNQMP_R5
942 bool "Xilinx ZynqMP R5 based platform"
954 bool "Xilinx ZynqMP based platform"
962 select DM_SPI_FLASH if DM_SPI
965 select SPL_BOARD_INIT if SPL
966 select SPL_CLK if SPL
967 select SPL_SEPARATE_BSS if SPL
969 imply BOARD_LATE_INIT
977 imply DISTRO_DEFAULTS
980 config TARGET_VEXPRESS64_AEMV8A
981 bool "Support vexpress_aemv8a"
985 config TARGET_VEXPRESS64_BASE_FVP
986 bool "Support Versatile Express ARMv8a FVP BASE model"
991 config TARGET_VEXPRESS64_BASE_FVP_DRAM
992 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
996 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
997 the default config to allow the user to load the images directly into
998 DRAM using model parameters rather than by using semi-hosting to load
999 the files from the host filesystem.
1001 config TARGET_VEXPRESS64_JUNO
1002 bool "Support Versatile Express Juno Development Platform"
1006 config TARGET_LS2080A_EMU
1007 bool "Support ls2080a_emu"
1009 select ARCH_MISC_INIT
1011 select ARMV8_MULTIENTRY
1012 select FSL_DDR_SYNC_REFRESH
1014 Support for Freescale LS2080A_EMU platform
1015 The LS2080A Development System (EMULATOR) is a pre silicon
1016 development platform that supports the QorIQ LS2080A
1017 Layerscape Architecture processor.
1019 config TARGET_LS2080A_SIMU
1020 bool "Support ls2080a_simu"
1022 select ARCH_MISC_INIT
1024 select ARMV8_MULTIENTRY
1026 Support for Freescale LS2080A_SIMU platform
1027 The LS2080A Development System (QDS) is a pre silicon
1028 development platform that supports the QorIQ LS2080A
1029 Layerscape Architecture processor.
1031 config TARGET_LS1088AQDS
1032 bool "Support ls1088aqds"
1034 select ARCH_MISC_INIT
1036 select ARMV8_MULTIENTRY
1037 select BOARD_LATE_INIT
1039 select FSL_DDR_INTERACTIVE if !SD_BOOT
1041 Support for NXP LS1088AQDS platform
1042 The LS1088A Development System (QDS) is a high-performance
1043 development platform that supports the QorIQ LS1088A
1044 Layerscape Architecture processor.
1046 config TARGET_LS2080AQDS
1047 bool "Support ls2080aqds"
1049 select ARCH_MISC_INIT
1051 select ARMV8_MULTIENTRY
1052 select BOARD_LATE_INIT
1057 select FSL_DDR_INTERACTIVE if !SPL
1059 Support for Freescale LS2080AQDS platform
1060 The LS2080A Development System (QDS) is a high-performance
1061 development platform that supports the QorIQ LS2080A
1062 Layerscape Architecture processor.
1064 config TARGET_LS2080ARDB
1065 bool "Support ls2080ardb"
1067 select ARCH_MISC_INIT
1069 select ARMV8_MULTIENTRY
1070 select BOARD_LATE_INIT
1073 select FSL_DDR_INTERACTIVE if !SPL
1077 Support for Freescale LS2080ARDB platform.
1078 The LS2080A Reference design board (RDB) is a high-performance
1079 development platform that supports the QorIQ LS2080A
1080 Layerscape Architecture processor.
1082 config TARGET_LS2081ARDB
1083 bool "Support ls2081ardb"
1085 select ARCH_MISC_INIT
1087 select ARMV8_MULTIENTRY
1088 select BOARD_LATE_INIT
1091 Support for Freescale LS2081ARDB platform.
1092 The LS2081A Reference design board (RDB) is a high-performance
1093 development platform that supports the QorIQ LS2081A/LS2041A
1094 Layerscape Architecture processor.
1096 config TARGET_LX2160ARDB
1097 bool "Support lx2160ardb"
1099 select ARCH_MISC_INIT
1101 select ARMV8_MULTIENTRY
1102 select BOARD_LATE_INIT
1104 Support for NXP LX2160ARDB platform.
1105 The lx2160ardb (LX2160A Reference design board (RDB)
1106 is a high-performance development platform that supports the
1107 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1109 config TARGET_LX2160AQDS
1110 bool "Support lx2160aqds"
1112 select ARCH_MISC_INIT
1114 select ARMV8_MULTIENTRY
1115 select BOARD_LATE_INIT
1117 Support for NXP LX2160AQDS platform.
1118 The lx2160aqds (LX2160A QorIQ Development System (QDS)
1119 is a high-performance development platform that supports the
1120 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor.
1123 bool "Support HiKey 96boards Consumer Edition Platform"
1130 select SPECIFY_CONSOLE_INDEX
1133 Support for HiKey 96boards platform. It features a HI6220
1134 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
1136 config TARGET_POPLAR
1137 bool "Support Poplar 96boards Enterprise Edition Platform"
1146 Support for Poplar 96boards EE platform. It features a HI3798cv200
1147 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
1148 making it capable of running any commercial set-top solution based on
1151 config TARGET_LS1012AQDS
1152 bool "Support ls1012aqds"
1155 select BOARD_LATE_INIT
1157 Support for Freescale LS1012AQDS platform.
1158 The LS1012A Development System (QDS) is a high-performance
1159 development platform that supports the QorIQ LS1012A
1160 Layerscape Architecture processor.
1162 config TARGET_LS1012ARDB
1163 bool "Support ls1012ardb"
1166 select BOARD_LATE_INIT
1170 Support for Freescale LS1012ARDB platform.
1171 The LS1012A Reference design board (RDB) is a high-performance
1172 development platform that supports the QorIQ LS1012A
1173 Layerscape Architecture processor.
1175 config TARGET_LS1012A2G5RDB
1176 bool "Support ls1012a2g5rdb"
1179 select BOARD_LATE_INIT
1182 Support for Freescale LS1012A2G5RDB platform.
1183 The LS1012A 2G5 Reference design board (RDB) is a high-performance
1184 development platform that supports the QorIQ LS1012A
1185 Layerscape Architecture processor.
1187 config TARGET_LS1012AFRWY
1188 bool "Support ls1012afrwy"
1191 select BOARD_LATE_INIT
1195 Support for Freescale LS1012AFRWY platform.
1196 The LS1012A FRWY board (FRWY) is a high-performance
1197 development platform that supports the QorIQ LS1012A
1198 Layerscape Architecture processor.
1200 config TARGET_LS1012AFRDM
1201 bool "Support ls1012afrdm"
1205 Support for Freescale LS1012AFRDM platform.
1206 The LS1012A Freedom board (FRDM) is a high-performance
1207 development platform that supports the QorIQ LS1012A
1208 Layerscape Architecture processor.
1210 config TARGET_LS1088ARDB
1211 bool "Support ls1088ardb"
1213 select ARCH_MISC_INIT
1215 select ARMV8_MULTIENTRY
1216 select BOARD_LATE_INIT
1218 select FSL_DDR_INTERACTIVE if !SD_BOOT
1220 Support for NXP LS1088ARDB platform.
1221 The LS1088A Reference design board (RDB) is a high-performance
1222 development platform that supports the QorIQ LS1088A
1223 Layerscape Architecture processor.
1225 config TARGET_LS1021AQDS
1226 bool "Support ls1021aqds"
1228 select ARCH_SUPPORT_PSCI
1229 select BOARD_EARLY_INIT_F
1230 select BOARD_LATE_INIT
1232 select CPU_V7_HAS_NONSEC
1233 select CPU_V7_HAS_VIRT
1234 select LS1_DEEP_SLEEP
1237 select FSL_DDR_INTERACTIVE
1240 config TARGET_LS1021ATWR
1241 bool "Support ls1021atwr"
1243 select ARCH_SUPPORT_PSCI
1244 select BOARD_EARLY_INIT_F
1245 select BOARD_LATE_INIT
1247 select CPU_V7_HAS_NONSEC
1248 select CPU_V7_HAS_VIRT
1249 select LS1_DEEP_SLEEP
1253 config TARGET_LS1021AIOT
1254 bool "Support ls1021aiot"
1256 select ARCH_SUPPORT_PSCI
1257 select BOARD_LATE_INIT
1259 select CPU_V7_HAS_NONSEC
1260 select CPU_V7_HAS_VIRT
1264 Support for Freescale LS1021AIOT platform.
1265 The LS1021A Freescale board (IOT) is a high-performance
1266 development platform that supports the QorIQ LS1021A
1267 Layerscape Architecture processor.
1269 config TARGET_LS1043AQDS
1270 bool "Support ls1043aqds"
1273 select ARMV8_MULTIENTRY
1274 select BOARD_EARLY_INIT_F
1275 select BOARD_LATE_INIT
1277 select FSL_DDR_INTERACTIVE if !SPL
1281 Support for Freescale LS1043AQDS platform.
1283 config TARGET_LS1043ARDB
1284 bool "Support ls1043ardb"
1287 select ARMV8_MULTIENTRY
1288 select BOARD_EARLY_INIT_F
1289 select BOARD_LATE_INIT
1292 Support for Freescale LS1043ARDB platform.
1294 config TARGET_LS1046AQDS
1295 bool "Support ls1046aqds"
1298 select ARMV8_MULTIENTRY
1299 select BOARD_EARLY_INIT_F
1300 select BOARD_LATE_INIT
1301 select DM_SPI_FLASH if DM_SPI
1303 select FSL_DDR_BIST if !SPL
1304 select FSL_DDR_INTERACTIVE if !SPL
1305 select FSL_DDR_INTERACTIVE if !SPL
1308 Support for Freescale LS1046AQDS platform.
1309 The LS1046A Development System (QDS) is a high-performance
1310 development platform that supports the QorIQ LS1046A
1311 Layerscape Architecture processor.
1313 config TARGET_LS1046ARDB
1314 bool "Support ls1046ardb"
1317 select ARMV8_MULTIENTRY
1318 select BOARD_EARLY_INIT_F
1319 select BOARD_LATE_INIT
1320 select DM_SPI_FLASH if DM_SPI
1321 select POWER_MC34VR500
1324 select FSL_DDR_INTERACTIVE if !SPL
1327 Support for Freescale LS1046ARDB platform.
1328 The LS1046A Reference Design Board (RDB) is a high-performance
1329 development platform that supports the QorIQ LS1046A
1330 Layerscape Architecture processor.
1333 bool "Support h2200"
1336 config TARGET_ZIPITZ2
1337 bool "Support zipitz2"
1340 config TARGET_COLIBRI_PXA270
1341 bool "Support colibri_pxa270"
1344 config ARCH_UNIPHIER
1345 bool "Socionext UniPhier SoCs"
1346 select BOARD_LATE_INIT
1354 select OF_BOARD_SETUP
1358 select SPL_BOARD_INIT if SPL
1359 select SPL_DM if SPL
1360 select SPL_LIBCOMMON_SUPPORT if SPL
1361 select SPL_LIBGENERIC_SUPPORT if SPL
1362 select SPL_OF_CONTROL if SPL
1363 select SPL_PINCTRL if SPL
1366 imply DISTRO_DEFAULTS
1369 Support for UniPhier SoC family developed by Socionext Inc.
1370 (formerly, System LSI Business Division of Panasonic Corporation)
1373 bool "Support STMicroelectronics STM32 MCU with cortex M"
1380 bool "Support STMicrolectronics SoCs"
1389 Support for STMicroelectronics STiH407/10 SoC family.
1390 This SoC is used on Linaro 96Board STiH410-B2260
1393 bool "Support STMicroelectronics STM32MP Socs with cortex A"
1394 select ARCH_MISC_INIT
1395 select BOARD_LATE_INIT
1409 select SYS_THUMB_BUILD
1412 imply ENV_VARS_UBOOT_RUNTIME_CONFIG
1414 Support for STM32MP SoC family developed by STMicroelectronics,
1415 MPUs based on ARM cortex A core
1416 U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL).
1417 FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot
1419 SPL is the unsecure FSBL for the basic boot chain.
1421 config ARCH_ROCKCHIP
1422 bool "Support Rockchip SoCs"
1433 select DM_USB if USB
1434 select ENABLE_ARM_SOC_BOOT0_HOOK
1437 select SPL_DM if SPL
1438 select SPL_SYS_MALLOC_SIMPLE if SPL
1440 select SYS_THUMB_BUILD if !ARM64
1443 imply DEBUG_UART_BOARD_INIT
1444 imply DISTRO_DEFAULTS
1446 imply SARADC_ROCKCHIP
1450 imply USB_FUNCTION_FASTBOOT
1452 config TARGET_THUNDERX_88XX
1453 bool "Support ThunderX 88xx"
1457 select SYS_CACHE_SHIFT_7
1460 bool "Support Aspeed SoCs"
1467 config TI_SECURE_DEVICE
1468 bool "HS Device Type Support"
1469 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3
1471 If a high secure (HS) device type is being used, this config
1472 must be set. This option impacts various aspects of the
1473 build system (to create signed boot images that can be
1474 authenticated) and the code. See the doc/README.ti-secure
1475 file for further details.
1477 if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
1478 config ISW_ENTRY_ADDR
1479 hex "Address in memory or XIP address of bootloader entry point"
1480 default 0x402F4000 if AM43XX
1481 default 0x402F0400 if AM33XX
1482 default 0x40301350 if OMAP54XX
1484 After any reset, the boot ROM searches the boot media for a valid
1485 boot image. For non-XIP devices, the ROM then copies the image into
1486 internal memory. For all boot modes, after the ROM processes the
1487 boot image it eventually computes the entry point address depending
1488 on the device type (secure/non-secure), boot media (xip/non-xip) and
1492 source "arch/arm/mach-aspeed/Kconfig"
1494 source "arch/arm/mach-at91/Kconfig"
1496 source "arch/arm/mach-bcm283x/Kconfig"
1498 source "arch/arm/mach-bcmstb/Kconfig"
1500 source "arch/arm/mach-davinci/Kconfig"
1502 source "arch/arm/mach-exynos/Kconfig"
1504 source "arch/arm/mach-highbank/Kconfig"
1506 source "arch/arm/mach-integrator/Kconfig"
1508 source "arch/arm/mach-k3/Kconfig"
1510 source "arch/arm/mach-keystone/Kconfig"
1512 source "arch/arm/mach-kirkwood/Kconfig"
1514 source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig"
1516 source "arch/arm/mach-mvebu/Kconfig"
1518 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1520 source "arch/arm/mach-imx/mx2/Kconfig"
1522 source "arch/arm/mach-imx/mx3/Kconfig"
1524 source "arch/arm/mach-imx/mx5/Kconfig"
1526 source "arch/arm/mach-imx/mx6/Kconfig"
1528 source "arch/arm/mach-imx/mx7/Kconfig"
1530 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1532 source "arch/arm/mach-imx/imx8/Kconfig"
1534 source "arch/arm/mach-imx/imx8m/Kconfig"
1536 source "arch/arm/mach-imx/mxs/Kconfig"
1538 source "arch/arm/mach-omap2/Kconfig"
1540 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1542 source "arch/arm/mach-orion5x/Kconfig"
1544 source "arch/arm/mach-owl/Kconfig"
1546 source "arch/arm/mach-rmobile/Kconfig"
1548 source "arch/arm/mach-meson/Kconfig"
1550 source "arch/arm/mach-mediatek/Kconfig"
1552 source "arch/arm/mach-qemu/Kconfig"
1554 source "arch/arm/mach-rockchip/Kconfig"
1556 source "arch/arm/mach-s5pc1xx/Kconfig"
1558 source "arch/arm/mach-snapdragon/Kconfig"
1560 source "arch/arm/mach-socfpga/Kconfig"
1562 source "arch/arm/mach-sti/Kconfig"
1564 source "arch/arm/mach-stm32/Kconfig"
1566 source "arch/arm/mach-stm32mp/Kconfig"
1568 source "arch/arm/mach-sunxi/Kconfig"
1570 source "arch/arm/mach-tegra/Kconfig"
1572 source "arch/arm/mach-uniphier/Kconfig"
1574 source "arch/arm/cpu/armv7/vf610/Kconfig"
1576 source "arch/arm/mach-zynq/Kconfig"
1578 source "arch/arm/mach-zynqmp/Kconfig"
1580 source "arch/arm/mach-versal/Kconfig"
1582 source "arch/arm/mach-zynqmp-r5/Kconfig"
1584 source "arch/arm/cpu/armv7/Kconfig"
1586 source "arch/arm/cpu/armv8/Kconfig"
1588 source "arch/arm/mach-imx/Kconfig"
1590 source "board/bosch/shc/Kconfig"
1591 source "board/bosch/guardian/Kconfig"
1592 source "board/CarMediaLab/flea3/Kconfig"
1593 source "board/Marvell/aspenite/Kconfig"
1594 source "board/Marvell/gplugd/Kconfig"
1595 source "board/armadeus/apf27/Kconfig"
1596 source "board/armltd/vexpress/Kconfig"
1597 source "board/armltd/vexpress64/Kconfig"
1598 source "board/broadcom/bcm23550_w1d/Kconfig"
1599 source "board/broadcom/bcm28155_ap/Kconfig"
1600 source "board/broadcom/bcm963158/Kconfig"
1601 source "board/broadcom/bcm968580xref/Kconfig"
1602 source "board/broadcom/bcmcygnus/Kconfig"
1603 source "board/broadcom/bcmnsp/Kconfig"
1604 source "board/broadcom/bcmns2/Kconfig"
1605 source "board/cavium/thunderx/Kconfig"
1606 source "board/cirrus/edb93xx/Kconfig"
1607 source "board/eets/pdu001/Kconfig"
1608 source "board/emulation/qemu-arm/Kconfig"
1609 source "board/freescale/ls2080a/Kconfig"
1610 source "board/freescale/ls2080aqds/Kconfig"
1611 source "board/freescale/ls2080ardb/Kconfig"
1612 source "board/freescale/ls1088a/Kconfig"
1613 source "board/freescale/ls1021aqds/Kconfig"
1614 source "board/freescale/ls1043aqds/Kconfig"
1615 source "board/freescale/ls1021atwr/Kconfig"
1616 source "board/freescale/ls1021aiot/Kconfig"
1617 source "board/freescale/ls1046aqds/Kconfig"
1618 source "board/freescale/ls1043ardb/Kconfig"
1619 source "board/freescale/ls1046ardb/Kconfig"
1620 source "board/freescale/ls1012aqds/Kconfig"
1621 source "board/freescale/ls1012ardb/Kconfig"
1622 source "board/freescale/ls1012afrdm/Kconfig"
1623 source "board/freescale/lx2160a/Kconfig"
1624 source "board/freescale/mx35pdk/Kconfig"
1625 source "board/freescale/s32v234evb/Kconfig"
1626 source "board/grinn/chiliboard/Kconfig"
1627 source "board/gumstix/pepper/Kconfig"
1628 source "board/h2200/Kconfig"
1629 source "board/hisilicon/hikey/Kconfig"
1630 source "board/hisilicon/poplar/Kconfig"
1631 source "board/isee/igep003x/Kconfig"
1632 source "board/phytec/pcm051/Kconfig"
1633 source "board/silica/pengwyn/Kconfig"
1634 source "board/spear/spear300/Kconfig"
1635 source "board/spear/spear310/Kconfig"
1636 source "board/spear/spear320/Kconfig"
1637 source "board/spear/spear600/Kconfig"
1638 source "board/spear/x600/Kconfig"
1639 source "board/st/stv0991/Kconfig"
1640 source "board/tcl/sl50/Kconfig"
1641 source "board/ucRobotics/bubblegum_96/Kconfig"
1642 source "board/birdland/bav335x/Kconfig"
1643 source "board/toradex/colibri_pxa270/Kconfig"
1644 source "board/variscite/dart_6ul/Kconfig"
1645 source "board/vscom/baltos/Kconfig"
1646 source "board/woodburn/Kconfig"
1647 source "board/xilinx/Kconfig"
1648 source "board/xilinx/zynq/Kconfig"
1649 source "board/xilinx/zynqmp/Kconfig"
1650 source "board/zipitz2/Kconfig"
1652 source "arch/arm/Kconfig.debug"
1657 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
1658 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1659 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64