mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-04 10:30:32 +00:00
8d78a6b674
The ARMv8-R64 architecture introduces optional VMSA (paging based MMU) support in the EL1/0 translation regime, which makes that part mostly compatible to ARMv8-A. Add a new board variant to describe the "BASE-R64" FVP model, which inherits a lot from the existing v8-A FVP support. One major difference is that the memory map in "inverted": DRAM starts at 0x0, MMIO is at 2GB [1]. * Create new TARGET_VEXPRESS64_BASER_FVP target, sharing most of the exising configuration. * Implement inverted memory map in vexpress_aemv8.h * Create vexpress_aemv8r defconfig * Provide an MMU memory map for the BASER_FVP * Update vexpress64 documentation At the moment the boot-wrapper is the only supported secure firmware. As there is no official DT for the board yet, we rely on it being supplied by the boot-wrapper into U-Boot, so use OF_HAS_PRIOR_STAGE, and go with a dummy DT for now. [1] https://developer.arm.com/documentation/100964/1114/Base-Platform/Base---memory/BaseR-Platform-memory-map Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> [Andre: rebase and add Linux kernel header] Signed-off-by: Andre Przywara <andre.przywara@arm.com> [trini: Add MAINTAINERS entry for Peter]
88 lines
2 KiB
Text
88 lines
2 KiB
Text
if ARCH_VEXPRESS64
|
|
|
|
config SYS_BOARD
|
|
default "vexpress64"
|
|
|
|
config SYS_VENDOR
|
|
default "armltd"
|
|
|
|
config SYS_CONFIG_NAME
|
|
default "vexpress_aemv8"
|
|
|
|
config VEXPRESS64_BASE_MODEL
|
|
bool
|
|
select SEMIHOSTING
|
|
select VIRTIO_BLK if VIRTIO_MMIO
|
|
select VIRTIO_NET if VIRTIO_MMIO
|
|
select DM_ETH if VIRTIO_NET
|
|
select LINUX_KERNEL_IMAGE_HEADER
|
|
select POSITION_INDEPENDENT
|
|
|
|
choice
|
|
prompt "VExpress64 board variant"
|
|
|
|
config TARGET_VEXPRESS64_BASE_FVP
|
|
bool "Support Versatile Express ARMv8a FVP BASE model"
|
|
select VEXPRESS64_BASE_MODEL
|
|
select OF_BOARD
|
|
|
|
config TARGET_VEXPRESS64_BASER_FVP
|
|
bool "Support Versatile Express ARMv8r64 FVP BASE model"
|
|
select VEXPRESS64_BASE_MODEL
|
|
imply OF_HAS_PRIOR_STAGE
|
|
|
|
config TARGET_VEXPRESS64_JUNO
|
|
bool "Support Versatile Express Juno Development Platform"
|
|
select PCIE_ECAM_GENERIC if PCI
|
|
select SATA_SIL
|
|
select SMC911X if DM_ETH
|
|
select SMC911X_32_BIT if SMC911X
|
|
select CMD_USB if USB
|
|
select USB_EHCI_HCD if USB
|
|
select USB_EHCI_GENERIC if USB
|
|
select USB_OHCI_HCD if USB
|
|
select USB_OHCI_GENERIC if USB
|
|
imply OF_HAS_PRIOR_STAGE
|
|
|
|
endchoice
|
|
|
|
config JUNO_DTB_PART
|
|
string "NOR flash partition holding DTB"
|
|
default "board.dtb"
|
|
help
|
|
The ARM partition name in the NOR flash memory holding the
|
|
device tree blob to configure U-Boot.
|
|
|
|
config LNX_KRNL_IMG_TEXT_OFFSET_BASE
|
|
default SYS_TEXT_BASE
|
|
|
|
config SYS_TEXT_BASE
|
|
default 0x88000000 if TARGET_VEXPRESS64_BASE_FVP
|
|
default 0xe0000000 if TARGET_VEXPRESS64_JUNO
|
|
default 0x00001000 if TARGET_VEXPRESS64_BASER_FVP
|
|
|
|
config SYS_MALLOC_LEN
|
|
default 0x810000 if TARGET_VEXPRESS64_JUNO
|
|
default 0x840000 if TARGET_VEXPRESS64_BASE_FVP
|
|
|
|
config SYS_MALLOC_F_LEN
|
|
default 0x2000
|
|
|
|
config SYS_LOAD_ADDR
|
|
default 0x10000000 if TARGET_VEXPRESS64_BASER_FVP
|
|
default 0x90000000
|
|
|
|
config ENV_ADDR
|
|
default 0x0BFC0000 if TARGET_VEXPRESS64_JUNO
|
|
default 0x0FFC0000 if TARGET_VEXPRESS64_BASE_FVP
|
|
default 0x8FFC0000 if TARGET_VEXPRESS64_BASER_FVP
|
|
|
|
config ENV_SIZE
|
|
default 0x10000 if TARGET_VEXPRESS64_JUNO
|
|
default 0x40000
|
|
|
|
config ENV_SECT_SIZE
|
|
default 0x10000 if TARGET_VEXPRESS64_JUNO
|
|
default 0x40000
|
|
|
|
endif
|