summaryrefslogtreecommitdiff
path: root/board/armltd
diff options
context:
space:
mode:
authorPeter Hoyes <Peter.Hoyes@arm.com>2022-03-04 16:30:18 +0000
committerTom Rini <trini@konsulko.com>2022-04-01 15:03:03 -0400
commit8d78a6b67467145f7e02295ca5d4944251dbc645 (patch)
treed7740ca3f69063f5ed0e37eed78dc222c529a381 /board/armltd
parent1a1143a45457161e90ea4cd5f3b0561d924ed8fe (diff)
downloadu-boot-8d78a6b67467145f7e02295ca5d4944251dbc645.tar.gz
u-boot-8d78a6b67467145f7e02295ca5d4944251dbc645.tar.bz2
u-boot-8d78a6b67467145f7e02295ca5d4944251dbc645.zip
vexpress64: Add ARMv8R-64 board variant
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]
Diffstat (limited to 'board/armltd')
-rw-r--r--board/armltd/vexpress64/Kconfig22
-rw-r--r--board/armltd/vexpress64/MAINTAINERS5
2 files changed, 22 insertions, 5 deletions
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
index 512bbbe72e..a0314c6537 100644
--- a/board/armltd/vexpress64/Kconfig
+++ b/board/armltd/vexpress64/Kconfig
@@ -9,19 +9,28 @@ config SYS_VENDOR
config SYS_CONFIG_NAME
default "vexpress_aemv8"
-choice
- prompt "VExpress64 board variant"
-
-config TARGET_VEXPRESS64_BASE_FVP
- bool "Support Versatile Express ARMv8a FVP BASE model"
+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
@@ -50,6 +59,7 @@ config LNX_KRNL_IMG_TEXT_OFFSET_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
@@ -59,11 +69,13 @@ 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
diff --git a/board/armltd/vexpress64/MAINTAINERS b/board/armltd/vexpress64/MAINTAINERS
index 0ba044d7ff..b3ecc9bba0 100644
--- a/board/armltd/vexpress64/MAINTAINERS
+++ b/board/armltd/vexpress64/MAINTAINERS
@@ -14,3 +14,8 @@ JUNO DEVELOPMENT PLATFORM BOARD
M: Linus Walleij <linus.walleij@linaro.org>
S: Maintained
F: configs/vexpress_aemv8a_juno_defconfig
+
+VEXPRESS64 ARMV8R-64
+M: Peter Hoyes <Peter.Hoyes@arm.com>
+S: Maintained
+F: configs/vexpress_aemv8r_defconfig