select PHYS_64BIT
select SYS_CACHE_SHIFT_6
+if ARM64
+config POSITION_INDEPENDENT
+ bool "Generate position-independent pre-relocation code"
+ help
+ U-Boot expects to be linked to a specific hard-coded address, and to
+ be loaded to and run from that address. This option lifts that
+ restriction, thus allowing the code to be loaded to and executed
+ 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
+ bool
+ default y if ARM64 && !POSITION_INDEPENDENT
+
config DMA_ADDR_T_64BIT
bool
default y if ARM64
config ARM_ERRATA_852423
bool
+config ARM_ERRATA_855873
+ bool
+
config CPU_ARM720T
bool
select SYS_CACHE_SHIFT_5
config TARGET_EDB93XX
bool "Support edb93xx"
select CPU_ARM920T
+ select PL010_SERIAL
config TARGET_ASPENITE
bool "Support aspenite"
bool "Support apx4devkit"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_XFI3
bool "Support xfi3"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_M28EVK
bool "Support m28evk"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_MX23EVK
bool "Support mx23evk"
select CPU_ARM926EJS
select SUPPORT_SPL
select BOARD_EARLY_INIT_F
+ select PL011_SERIAL
config TARGET_MX28EVK
bool "Support mx28evk"
select CPU_ARM926EJS
select SUPPORT_SPL
select BOARD_EARLY_INIT_F
+ select PL011_SERIAL
config TARGET_MX23_OLINUXINO
bool "Support mx23_olinuxino"
select CPU_ARM926EJS
select SUPPORT_SPL
select BOARD_EARLY_INIT_F
+ select PL011_SERIAL
config TARGET_BG0900
bool "Support bg0900"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_SANSA_FUZE_PLUS
bool "Support sansa_fuze_plus"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config TARGET_SC_SPS_1
bool "Support sc_sps_1"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config ORION5X
bool "Marvell Orion"
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_MX25
bool "NXP MX25"
select CPU_ARM926EJS
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"
config ARCH_SUNXI
bool "Support sunxi (Allwinner) SoCs"
+ select BINMAN
select CMD_GPIO
select CMD_MMC if MMC
select CMD_USB if DISTRO_DEFAULTS
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
bool "Support TS4600"
select CPU_ARM926EJS
select SUPPORT_SPL
+ select PL011_SERIAL
config ARCH_VF610
bool "Freescale Vybrid"
imply NAND
config ARCH_ZYNQ
- bool "Xilinx Zynq Platform"
+ bool "Xilinx Zynq based platform"
select BOARD_LATE_INIT
select CPU_V7
select SUPPORT_SPL
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
imply CMD_SPL
config ARCH_ZYNQMP
- bool "Support Xilinx ZynqMP Platform"
+ bool "Xilinx ZynqMP based platform"
select ARM64
select BOARD_LATE_INIT
select DM
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 SUPPORT_SPL
select ARCH_MISC_INIT
imply SCSI
+ imply SCSI_AHCI
help
Support for Freescale LS2080AQDS platform
The LS2080A Development System (QDS) is a high-performance
select SUPPORT_SPL
select ARCH_MISC_INIT
imply SCSI
+ imply SCSI_AHCI
help
Support for Freescale LS2080ARDB platform.
The LS2080A Reference design board (RDB) is a high-performance
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
select ARM64
select BOARD_LATE_INIT
imply SCSI
+ imply SCSI_AHCI
help
Support for Freescale LS1012ARDB platform.
The LS1012A Reference design board (RDB) is a high-performance
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 DM_USB if USB
select DM_PWM
select DM_REGULATOR
+ select ENABLE_ARM_SOC_BOOT0_HOOK
imply CMD_FASTBOOT
imply FASTBOOT
imply FAT_WRITE
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-omap2/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"