from almost any address. This logic relies on the relocation
information that is embedded into the binary to support U-Boot
relocating itself to the top-of-RAM later during execution.
+
+config SYS_INIT_SP_BSS_OFFSET
+ int
+ help
+ U-Boot typically uses a hard-coded value for the stack pointer
+ before relocation. Define this option to instead calculate the
+ initial SP at run-time. This is useful to avoid hard-coding addresses
+ into U-Boot, so that can be loaded and executed at arbitrary
+ addresses and thus avoid using arbitrary addresses at runtime. This
+ option's value is the offset added to &_bss_start in order to
+ calculate the stack pointer. This offset should be large enough so
+ that the early malloc region, global data (gd), and early stack usage
+ do not overlap any appended DTB.
+
+config LINUX_KERNEL_IMAGE_HEADER
+ bool
+ help
+ Place a Linux kernel image header at the start of the U-Boot binary.
+ The format of the header is described in the Linux kernel source at
+ Documentation/arm64/booting.txt. This feature is useful since the
+ image header reports the amount of memory (BSS and similar) that
+ U-Boot needs to use, but which isn't part of the binary.
+
+if LINUX_KERNEL_IMAGE_HEADER
+config LNX_KRNL_IMG_TEXT_OFFSET_BASE
+ hex
+ help
+ The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
+ TEXT_OFFSET value written in to the Linux kernel image header.
+endif
endif
config STATIC_RELA
config ARM_ERRATA_852423
bool
+config ARM_ERRATA_855873
+ bool
+
config CPU_ARM720T
bool
select SYS_CACHE_SHIFT_5
bool "prepare BOOT0 header"
help
If the SoC's BOOT0 requires a header area filled with (magic)
- values, then choose this option, and create a define called
- ARM_SOC_BOOT0_HOOK which contains the required assembler
- preprocessor code.
+ values, then choose this option, and create a file included as
+ <asm/arch/boot0.h> which contains the required assembler code.
config ARM_CORTEX_CPU_IS_UP
bool
config TARGET_EDB93XX
bool "Support edb93xx"
select CPU_ARM920T
+ select PL010_SERIAL
config TARGET_ASPENITE
bool "Support aspenite"
select CPU_ARM926EJS
select SUPPORT_SPL
-config TARGET_APX4DEVKIT
- bool "Support apx4devkit"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
-config TARGET_XFI3
- bool "Support xfi3"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
-config TARGET_M28EVK
- bool "Support m28evk"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
-config TARGET_MX23EVK
- bool "Support mx23evk"
- select CPU_ARM926EJS
- select SUPPORT_SPL
- select BOARD_EARLY_INIT_F
-
-config TARGET_MX28EVK
- bool "Support mx28evk"
- select CPU_ARM926EJS
- select SUPPORT_SPL
- select BOARD_EARLY_INIT_F
-
-config TARGET_MX23_OLINUXINO
- bool "Support mx23_olinuxino"
- select CPU_ARM926EJS
- select SUPPORT_SPL
- select BOARD_EARLY_INIT_F
-
-config TARGET_BG0900
- bool "Support bg0900"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
-config TARGET_SANSA_FUZE_PLUS
- bool "Support sansa_fuze_plus"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
-config TARGET_SC_SPS_1
- bool "Support sc_sps_1"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
config ORION5X
bool "Marvell Orion"
select CPU_ARM926EJS
select CPU_ARM926EJS
select BOARD_EARLY_INIT_F
imply CMD_SAVES
+ select PL011_SERIAL
config TARGET_SPEAR310
bool "Support spear310"
select CPU_ARM926EJS
select BOARD_EARLY_INIT_F
imply CMD_SAVES
+ select PL011_SERIAL
config TARGET_SPEAR320
bool "Support spear320"
select CPU_ARM926EJS
select BOARD_EARLY_INIT_F
imply CMD_SAVES
+ select PL011_SERIAL
config TARGET_SPEAR600
bool "Support spear600"
select CPU_ARM926EJS
select BOARD_EARLY_INIT_F
imply CMD_SAVES
+ select PL011_SERIAL
config TARGET_STV0991
bool "Support stv0991"
select DM_SPI
select DM_SPI_FLASH
select SPI_FLASH
+ select PL01X_SERIAL
config TARGET_X600
bool "Support x600"
select BOARD_LATE_INIT
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_IMX31_PHYCORE
bool "Support imx31_phycore_eet"
select DM_SERIAL
select DM_GPIO
select OF_CONTROL
+ select PL01X_SERIAL
+ select SERIAL_SEARCH_ALL
imply FAT_WRITE
config TARGET_VEXPRESS_CA15_TC2
select CPU_V7
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
+ select PL011_SERIAL
config TARGET_VEXPRESS_CA5X2
bool "Support vexpress_ca5x2"
select CPU_V7
+ select PL011_SERIAL
config TARGET_VEXPRESS_CA9X4
bool "Support vexpress_ca9x4"
select CPU_V7
+ select PL011_SERIAL
config TARGET_BCM23550_W1D
bool "Support bcm23550_w1d"
config ARCH_HIGHBANK
bool "Calxeda Highbank"
select CPU_V7
+ select PL011_SERIAL
config ARCH_INTEGRATOR
bool "ARM Ltd. Integrator family"
select DM
select DM_SERIAL
+ select PL01X_SERIAL
config ARCH_KEYSTONE
bool "TI Keystone"
targeted at media players and tablet computers. We currently
support the S905 (GXBaby) 64-bit SoC.
+config ARCH_MX8M
+ bool "NXP i.MX8M platform"
+ select ARM64
+ select DM
+ select SUPPORT_SPL
+
+config ARCH_MX23
+ bool "NXP i.MX23 family"
+ select CPU_ARM926EJS
+ select PL011_SERIAL
+ select SUPPORT_SPL
+
config ARCH_MX25
bool "NXP MX25"
select CPU_ARM926EJS
+ imply MXC_GPIO
+
+config ARCH_MX28
+ bool "NXP i.MX28 family"
+ select CPU_ARM926EJS
+ select PL011_SERIAL
+ select SUPPORT_SPL
config ARCH_MX7ULP
bool "NXP MX7ULP"
select CPU_V7
select ROM_UNIFIED_SECTIONS
+ imply MXC_GPIO
config ARCH_MX7
bool "Freescale MX7"
select SYS_FSL_SEC_LE
select BOARD_EARLY_INIT_F
select ARCH_MISC_INIT
+ imply MXC_GPIO
config ARCH_MX6
bool "Freescale MX6"
select SYS_FSL_SEC_COMPAT_4
select SYS_FSL_SEC_LE
select SYS_THUMB_BUILD if SPL
+ imply MXC_GPIO
if ARCH_MX6
config SPL_LDSCRIPT
bool "Freescale MX5"
select CPU_V7
select BOARD_EARLY_INIT_F
+ imply MXC_GPIO
config ARCH_QEMU
bool "QEMU Virtual Platform"
- select CPU_V7
- select ARCH_SUPPORT_PSCI
select DM
select DM_SERIAL
select OF_CONTROL
+ select PL01X_SERIAL
config ARCH_RMOBILE
bool "Renesas ARM SoCs"
select USE_TINY_PRINTF
imply CMD_GPT
imply FAT_WRITE
+ imply OF_LIBFDT_OVERLAY
imply PRE_CONSOLE_BUFFER
imply SPL_GPIO_SUPPORT
imply SPL_LIBCOMMON_SUPPORT
imply SPL_SERIAL_SUPPORT
imply USB_GADGET
-config TARGET_TS4600
- bool "Support TS4600"
- select CPU_ARM926EJS
- select SUPPORT_SPL
-
config ARCH_VF610
bool "Freescale Vybrid"
select CPU_V7
select SPL_BOARD_INIT if SPL
select SPL_OF_CONTROL if SPL
select DM
- select DM_ETH
- select DM_GPIO
+ select DM_ETH if NET
select SPL_DM if SPL
- select DM_MMC
+ select DM_MMC if MMC
select DM_SPI
select DM_SERIAL
select DM_SPI_FLASH
select SPL_SEPARATE_BSS if SPL
select DM_USB if USB
- select BLK
select CLK
- select SPL_CLK
+ select SPL_CLK if SPL
select CLK_ZYNQ
imply CMD_CLK
imply FAT_WRITE
select SUPPORT_SPL
select CLK
select SPL_BOARD_INIT if SPL
- select SPL_CLK
+ select SPL_CLK if SPL
select DM_USB if USB
imply FAT_WRITE
config TARGET_VEXPRESS64_AEMV8A
bool "Support vexpress_aemv8a"
select ARM64
+ select PL01X_SERIAL
config TARGET_VEXPRESS64_BASE_FVP
bool "Support Versatile Express ARMv8a FVP BASE model"
select ARM64
select SEMIHOSTING
+ select PL01X_SERIAL
config TARGET_VEXPRESS64_BASE_FVP_DRAM
bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
select ARM64
+ select PL01X_SERIAL
help
This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
the default config to allow the user to load the images directly into
config TARGET_VEXPRESS64_JUNO
bool "Support Versatile Express Juno Development Platform"
select ARM64
+ select PL01X_SERIAL
config TARGET_LS2080A_EMU
bool "Support ls2080a_emu"
select DM_GPIO
select DM_SERIAL
select OF_CONTROL
+ select PL01X_SERIAL
help
Support for HiKey 96boards platform. It features a HI6220
SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
select OF_CONTROL
select DM_SERIAL
select DM_USB
+ select PL01X_SERIAL
help
Support for Poplar 96boards EE platform. It features a HI3798cv200
SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
development platform that supports the QorIQ LS1012A
Layerscape Architecture processor.
+config TARGET_LS1012A2G5RDB
+ bool "Support ls1012a2g5rdb"
+ select ARCH_LS1012A
+ select ARM64
+ select BOARD_LATE_INIT
+ imply SCSI
+ help
+ Support for Freescale LS1012A2G5RDB platform.
+ The LS1012A 2G5 Reference design board (RDB) is a high-performance
+ development platform that supports the QorIQ LS1012A
+ Layerscape Architecture processor.
+
config TARGET_LS1012AFRDM
bool "Support ls1012afrdm"
select ARCH_LS1012A
select ARM64
select OF_CONTROL
select SYS_CACHE_SHIFT_7
+ select PL01X_SERIAL
config ARCH_ASPEED
bool "Support Aspeed SoCs"
source "arch/arm/mach-imx/mx2/Kconfig"
-source "arch/arm/mach-imx/mx7ulp/Kconfig"
+source "arch/arm/mach-imx/mx5/Kconfig"
+
+source "arch/arm/mach-imx/mx6/Kconfig"
source "arch/arm/mach-imx/mx7/Kconfig"
-source "arch/arm/mach-imx/mx6/Kconfig"
+source "arch/arm/mach-imx/mx7ulp/Kconfig"
-source "arch/arm/mach-imx/mx5/Kconfig"
+source "arch/arm/mach-imx/mx8m/Kconfig"
+
+source "arch/arm/mach-imx/mxs/Kconfig"
source "arch/arm/mach-omap2/Kconfig"
source "arch/arm/mach-imx/Kconfig"
-source "board/aries/m28evk/Kconfig"
source "board/bosch/shc/Kconfig"
source "board/CarMediaLab/flea3/Kconfig"
source "board/Marvell/aspenite/Kconfig"
source "board/armadeus/apf27/Kconfig"
source "board/armltd/vexpress/Kconfig"
source "board/armltd/vexpress64/Kconfig"
-source "board/bluegiga/apx4devkit/Kconfig"
source "board/broadcom/bcm23550_w1d/Kconfig"
source "board/broadcom/bcm28155_ap/Kconfig"
source "board/broadcom/bcmcygnus/Kconfig"
source "board/broadcom/bcmns2/Kconfig"
source "board/cavium/thunderx/Kconfig"
source "board/cirrus/edb93xx/Kconfig"
-source "board/creative/xfi3/Kconfig"
+source "board/eets/pdu001/Kconfig"
source "board/freescale/ls2080a/Kconfig"
source "board/freescale/ls2080aqds/Kconfig"
source "board/freescale/ls2080ardb/Kconfig"
source "board/freescale/ls1012aqds/Kconfig"
source "board/freescale/ls1012ardb/Kconfig"
source "board/freescale/ls1012afrdm/Kconfig"
-source "board/freescale/mx23evk/Kconfig"
-source "board/freescale/mx28evk/Kconfig"
source "board/freescale/mx31ads/Kconfig"
source "board/freescale/mx31pdk/Kconfig"
source "board/freescale/mx35pdk/Kconfig"
source "board/hisilicon/poplar/Kconfig"
source "board/imx31_phycore/Kconfig"
source "board/isee/igep003x/Kconfig"
-source "board/olimex/mx23_olinuxino/Kconfig"
source "board/phytec/pcm051/Kconfig"
-source "board/ppcag/bg0900/Kconfig"
-source "board/sandisk/sansa_fuze_plus/Kconfig"
-source "board/schulercontrol/sc_sps_1/Kconfig"
source "board/silica/pengwyn/Kconfig"
source "board/spear/spear300/Kconfig"
source "board/spear/spear310/Kconfig"
source "board/birdland/bav335x/Kconfig"
source "board/timll/devkit3250/Kconfig"
source "board/toradex/colibri_pxa270/Kconfig"
-source "board/technologic/ts4600/Kconfig"
source "board/vscom/baltos/Kconfig"
source "board/woodburn/Kconfig"
source "board/work-microwave/work_92105/Kconfig"
endmenu
config SPL_LDSCRIPT
- 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
+ default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28
default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64