mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-01 21:23:51 -09:00
Merge branch 'next'
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
# Arm A-Profile Base RevC AEM FVP config
|
||||
bp.secure_memory=1
|
||||
bp.terminal_1.start_telnet=0
|
||||
bp.ve_sysregs.exit_on_shutdown=1
|
||||
bp.virtio_net.enabled=1
|
||||
bp.virtio_net.hostbridge.userNetworking=1
|
||||
bp.vis.rate_limit-enable=1
|
||||
cache_state_modelled=0
|
||||
cluster0.NUM_CORES=4
|
||||
cluster0.cpu0.enable_crc32=1
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz
|
||||
sha256 a899100d9d92ceb1290fd4d61f5dd3b8af6b0e937cebc3c711cb514ac5acfaed arm-trusted-firmware-v2.14.0-git4.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 524858852f5869a9ef17de8b1e6e7faf05bcb2c462bc96b3c24dbf82ede373cf linux-6.10.12.tar.xz
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b linux-6.18.tar.xz
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 464b3bf5bc4a61830357dbf81a0e5b89414d3bca1c2a752570cb0e40d2f1e637 optee-client-4.8.0.tar.gz
|
||||
@@ -0,0 +1,34 @@
|
||||
From 1debd0c8bd46255f8c22b128ec16586ef9154869 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@arm.com>
|
||||
Date: Tue, 2 Dec 2025 15:53:23 +0100
|
||||
Subject: [PATCH] plat-vexpress: redirect console to uart0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
For consistency with TF-A, U-Boot and Linux.
|
||||
|
||||
Upstream: Not applicable. Buildroot specific.
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
|
||||
---
|
||||
core/arch/arm/plat-vexpress/platform_config.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/arch/arm/plat-vexpress/platform_config.h b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
index 9231f3048..76c7fdb36 100644
|
||||
--- a/core/arch/arm/plat-vexpress/platform_config.h
|
||||
+++ b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
#define IT_UART1 38
|
||||
|
||||
-#define CONSOLE_UART_BASE UART1_BASE
|
||||
-#define IT_CONSOLE_UART IT_UART1
|
||||
+#define CONSOLE_UART_BASE UART0_BASE
|
||||
+#undef IT_CONSOLE_UART
|
||||
|
||||
#elif defined(PLATFORM_FLAVOR_juno)
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
2
board/arm/fvp-ebbr/patches/optee-os/optee-os.hash
Normal file
2
board/arm/fvp-ebbr/patches/optee-os/optee-os.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d optee-os-4.8.0.tar.gz
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
|
||||
sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2
|
||||
|
||||
@@ -2,7 +2,7 @@ Introduction
|
||||
============
|
||||
|
||||
The arm_fvp_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR
|
||||
specification[1] and the Arm SystemReady IR[2] compliance program.
|
||||
specification[1] and the Arm SystemReady Devicetree band[2].
|
||||
It allows building an AArch64 U-Boot based firmware implementing the subset of
|
||||
UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run
|
||||
on the Arm A-Profile Base RevC AEM FVP.
|
||||
@@ -26,8 +26,8 @@ Running on the FVP
|
||||
Download the FVP from one of the following sources, corresponding to your host
|
||||
computer:
|
||||
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/Fixed-Virtual-Platforms/FM-11.27/FVP_Base_RevC-2xAEMvA_11.27_19_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/Fixed-Virtual-Platforms/FM-11.27/FVP_Base_RevC-2xAEMvA_11.27_19_Linux64_armv8l.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64_armv8l.tgz
|
||||
|
||||
The FVP will be located under one of the corresponding folders:
|
||||
|
||||
@@ -53,21 +53,58 @@ supporting the EBBR specification.
|
||||
To run another OS on simulation using a live or pre-installed image, use the
|
||||
same FVP command line as for the generated OS but adapt the OS image path in the
|
||||
virtioblockdevice stanza.
|
||||
The image generated by the aarch64_efi_defconfig or the Arm ACS-IR images[3] are
|
||||
examples of pre-installed OS images.
|
||||
Linux distributions such as Debian, Fedora, openSUSE or Ubuntu provide a
|
||||
pre-installed OS image.
|
||||
The image generated by the aarch64_efi_defconfig or the Arm ACS Devicetree
|
||||
images[3] are examples of pre-installed OS images.
|
||||
Linux distributions such as Debian, Fedora, openSUSE or Ubuntu, or FreeBSD
|
||||
provide live or pre-installed OS image.
|
||||
|
||||
Firmware details
|
||||
================
|
||||
|
||||
Noteworthy firmware features:
|
||||
|
||||
- TF-A, OP-TEE & U-Boot
|
||||
- UEFI, with EFI variables stored on disk in the ESP
|
||||
- Support for ethernet, RTC and LCD
|
||||
|
||||
Architecture diagram:
|
||||
|
||||
Non-Secure : Secure
|
||||
:
|
||||
+---------------------------+ :
|
||||
EL0 | Busybox | :
|
||||
+---------------------------+ : +--------+
|
||||
EL1 | Linux | : | OP-TEE | S-EL1
|
||||
+---------------------------+ : +--------+
|
||||
EL2 | U-Boot, GRUB, Linux (kvm) | :
|
||||
+---------------------------+ :
|
||||
...................................:
|
||||
+----------------------------------------+
|
||||
| TF-A | EL3
|
||||
+----------------------------------------+
|
||||
|
||||
Boot flow:
|
||||
|
||||
TF-A -+-> OP-TEE
|
||||
`-> U-Boot -> GRUB -> Linux -> Busybox
|
||||
|
||||
TF-A BL1 loads the fit image with the remaining pieces of TF-A, OP-TEE and
|
||||
U-Boot.
|
||||
OP-TEE boots, calls back TF-A to go to normal world.
|
||||
U-Boot loads GRUB with UEFI, boots Linux at EL2.
|
||||
|
||||
In this configuration, the Devicetree is static and fully contained in TF-A.
|
||||
|
||||
Miscellaneous
|
||||
=============
|
||||
|
||||
This configuration is inspired by the arm_foundationv8_defconfig, the
|
||||
qemu_aarch64_virt_defconfig and the Arm SystemReady IR IoT Integration, Test,
|
||||
and Certification Guide[4].
|
||||
qemu_aarch64_virt_defconfig and the Arm SystemReady Devicetree Band Integration
|
||||
and Testing Guide[4].
|
||||
|
||||
Firmware update, MMC and network are currently not supported.
|
||||
Firmware update, GOP, MMC and RNG are currently not supported.
|
||||
|
||||
[1]: https://github.com/ARM-software/ebbr
|
||||
[2]: https://developer.arm.com/Architectures/Arm%20SystemReady%20IR
|
||||
[3]: https://github.com/ARM-software/arm-systemready/tree/main/IR/prebuilt_images
|
||||
[4]: https://developer.arm.com/documentation/DUI1101/latest/
|
||||
[1] https://github.com/ARM-software/ebbr
|
||||
[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band
|
||||
[3] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images
|
||||
[4] https://developer.arm.com/documentation/DUI1101/latest/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# CONFIG_USE_BOOTCOMMAND is not set
|
||||
CONFIG_ARM_SMCCC_FEATURES=y
|
||||
CONFIG_BOOTCOMMAND="bootflow scan -lb"
|
||||
CONFIG_BOOTMETH_DISTRO=y
|
||||
CONFIG_BOOTM_EFI=y
|
||||
@@ -17,8 +17,10 @@ CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y
|
||||
CONFIG_CMD_GETTIME=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_POWEROFF=y
|
||||
CONFIG_CMD_RNG=y
|
||||
CONFIG_CMD_RTC=y
|
||||
CONFIG_CMD_SMC=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_DM_RNG=y
|
||||
CONFIG_DM_RTC=y
|
||||
@@ -29,6 +31,7 @@ CONFIG_EFI_LOADER=y
|
||||
CONFIG_EFI_LOADER_HII=y
|
||||
CONFIG_EFI_MM_COMM_TEE=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
|
||||
CONFIG_EFI_SECURE_BOOT=y
|
||||
CONFIG_EFI_SET_TIME=y
|
||||
CONFIG_EFI_UNICODE_CAPITALIZATION=y
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 738f029c6bfcdac5649e2c252970b1f44c1ce7fee9fe4657a25edc666375ffa8 atf-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 c98177e85ace6400b06301101af3065e90463920c3e166da4ed22deffe960fb8 linux-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 a39f7db3ffd2b7263ea5d02b0631decac1c89f7c1b96b77ba8e302f3641a3eb3 u-boot-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -11,7 +11,7 @@ For more details about the board and the QorIQ Layerscape SoC, see the following
|
||||
Layerscape platforms are officially supported by NXP under the Layerscape
|
||||
Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project
|
||||
common with i.MX), but has a slower release cadence than LF. The currently used
|
||||
tag is lf-6.12.20-2.0.0, which is in line with the latest LF tag. Generally, in
|
||||
tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
|
||||
Buildroot, the latest Linux Factory release tag is always used, which may be
|
||||
considered pre-release software, as it may contain features which are not yet
|
||||
documented, and it generally undergoes less testing.
|
||||
@@ -21,11 +21,11 @@ For the software Layerscape Debian Linux SDK User Guide, see:
|
||||
- https://www.nxp.com/docs/en/user-guide/UG10143.pdf
|
||||
|
||||
The components from NXP are:
|
||||
- rcw, lf-6.12.20-2.0.0
|
||||
- atf (fork), lf-6.12.20-2.0.0
|
||||
- uboot (fork), lf-6.12.20-2.0.0
|
||||
- rcw, lf-6.12.34-2.1.0
|
||||
- atf (fork), lf-6.12.34-2.1.0
|
||||
- uboot (fork), lf-6.12.34-2.1.0
|
||||
- cadence-dp-firmware (blob), 8.16
|
||||
- linux (fork), lf-6.12.20-2.0.0
|
||||
- linux (fork), lf-6.12.34-2.1.0
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 738f029c6bfcdac5649e2c252970b1f44c1ce7fee9fe4657a25edc666375ffa8 atf-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 c98177e85ace6400b06301101af3065e90463920c3e166da4ed22deffe960fb8 linux-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 a39f7db3ffd2b7263ea5d02b0631decac1c89f7c1b96b77ba8e302f3641a3eb3 u-boot-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -11,7 +11,7 @@ for more details about the board and the QorIQ Layerscape SoC, see the following
|
||||
Layerscape platforms are officially supported by NXP under the Layerscape
|
||||
Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project
|
||||
common with i.MX), but has a slower release cadence than LF. The currently used
|
||||
tag is lf-6.12.20-2.0.0, which is in line with the latest LF tag. Generally, in
|
||||
tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
|
||||
Buildroot, the latest Linux Factory release tag is always used, which may be
|
||||
considered pre-release software, as it may contain features which are not yet
|
||||
documented, and it generally undergoes less testing.
|
||||
@@ -21,13 +21,13 @@ For the software Layerscape Debian Linux SDK User Guide, see:
|
||||
- https://www.nxp.com/docs/en/user-guide/UG10143.pdf
|
||||
|
||||
The components from NXP are:
|
||||
- rcw, lf-6.12.20-2.0.0
|
||||
- atf (fork), lf-6.12.20-2.0.0
|
||||
- uboot (fork), lf-6.12.20-2.0.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.20-2.0.0
|
||||
- linux (fork), lf-6.12.20-2.0.0
|
||||
- fmlib, lf-6.12.20-2.0.0
|
||||
- fmc, lf-6.12.20-2.0.0
|
||||
- rcw, lf-6.12.34-2.1.0
|
||||
- atf (fork), lf-6.12.34-2.1.0
|
||||
- uboot (fork), lf-6.12.34-2.1.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.34-2.1.0
|
||||
- linux (fork), lf-6.12.34-2.1.0
|
||||
- fmlib, lf-6.12.34-2.1.0
|
||||
- fmc, lf-6.12.34-2.1.0
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 738f029c6bfcdac5649e2c252970b1f44c1ce7fee9fe4657a25edc666375ffa8 atf-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 c98177e85ace6400b06301101af3065e90463920c3e166da4ed22deffe960fb8 linux-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 a39f7db3ffd2b7263ea5d02b0631decac1c89f7c1b96b77ba8e302f3641a3eb3 u-boot-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -12,7 +12,7 @@ For more details about the board and the QorIQ Layerscape SoC, see the following
|
||||
Layerscape platforms are officially supported by NXP under the Layerscape
|
||||
Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project
|
||||
common with i.MX), but has a slower release cadence than LF. The currently used
|
||||
tag is lf-6.12.20-2.0.0, which is in line with the latest LF tag. Generally, in
|
||||
tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
|
||||
Buildroot, the latest Linux Factory release tag is always used, which may be
|
||||
considered pre-release software, as it may contain features which are not yet
|
||||
documented, and it generally undergoes less testing.
|
||||
@@ -22,13 +22,13 @@ For the software Layerscape Debian Linux SDK User Guide, see:
|
||||
- https://www.nxp.com/docs/en/user-guide/UG10143.pdf
|
||||
|
||||
The components from NXP are:
|
||||
- rcw, lf-6.12.20-2.0.0
|
||||
- atf (fork), lf-6.12.20-2.0.0
|
||||
- uboot (fork), lf-6.12.20-2.0.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.20-2.0.0
|
||||
- linux (fork), lf-6.12.20-2.0.0
|
||||
- fmlib, lf-6.12.20-2.0.0
|
||||
- fmc, lf-6.12.20-2.0.0
|
||||
- rcw, lf-6.12.34-2.1.0
|
||||
- atf (fork), lf-6.12.34-2.1.0
|
||||
- uboot (fork), lf-6.12.34-2.1.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.34-2.1.0
|
||||
- linux (fork), lf-6.12.34-2.1.0
|
||||
- fmlib, lf-6.12.34-2.1.0
|
||||
- fmc, lf-6.12.34-2.1.0
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 738f029c6bfcdac5649e2c252970b1f44c1ce7fee9fe4657a25edc666375ffa8 atf-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2d3f9c52e16766c290bdc0bc130d634e4c326a5b236dfb2f2ca3f0fa457e82d4 atf-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 c98177e85ace6400b06301101af3065e90463920c3e166da4ed22deffe960fb8 linux-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 27a1987ca0a5802d3ebb296b8134ec66d813ad86cf2a60779b45092735bbb23b linux-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 a39f7db3ffd2b7263ea5d02b0631decac1c89f7c1b96b77ba8e302f3641a3eb3 u-boot-lf-6.12.20-2.0.0.tar.gz
|
||||
sha256 2f25cde388b2f83ff7a8e3afe25aafb1db48dafb0fa3bf1e4f9fef603f3b4785 u-boot-lf-6.12.34-2.1.0.tar.gz
|
||||
|
||||
@@ -11,7 +11,7 @@ for more details about the board and the QorIQ Layerscape SoC, see the following
|
||||
Layerscape platforms are officially supported by NXP under the Layerscape
|
||||
Debian Linux SDK (LDLSDK). This uses components from Linux Factory (project
|
||||
common with i.MX), but has a slower release cadence than LF. The currently used
|
||||
tag is lf-6.12.20-2.0.0, which is in line with the latest LF tag. Generally, in
|
||||
tag is lf-6.12.34-2.1.0, which is in line with the latest LF tag. Generally, in
|
||||
Buildroot, the latest Linux Factory release tag is always used, which may be
|
||||
considered pre-release software, as it may contain features which are not yet
|
||||
documented, and it generally undergoes less testing.
|
||||
@@ -21,13 +21,13 @@ For the software Layerscape Debian Linux SDK User Guide, see:
|
||||
- https://www.nxp.com/docs/en/user-guide/UG10143.pdf
|
||||
|
||||
The components from NXP are:
|
||||
- rcw, lf-6.12.20-2.0.0
|
||||
- atf (fork), lf-6.12.20-2.0.0
|
||||
- uboot (fork), lf-6.12.20-2.0.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.20-2.0.0
|
||||
- linux (fork), lf-6.12.20-2.0.0
|
||||
- fmlib, lf-6.12.20-2.0.0
|
||||
- fmc, lf-6.12.20-2.0.0
|
||||
- rcw, lf-6.12.34-2.1.0
|
||||
- atf (fork), lf-6.12.34-2.1.0
|
||||
- uboot (fork), lf-6.12.34-2.1.0
|
||||
- qoriq-fm-ucode (blob), lf-6.12.34-2.1.0
|
||||
- linux (fork), lf-6.12.34-2.1.0
|
||||
- fmlib, lf-6.12.34-2.1.0
|
||||
- fmc, lf-6.12.34-2.1.0
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
1
board/versal2/genimage.cfg
Symbolic link
1
board/versal2/genimage.cfg
Symbolic link
@@ -0,0 +1 @@
|
||||
../versal/genimage.cfg
|
||||
1
board/versal2/post-build.sh
Symbolic link
1
board/versal2/post-build.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
../zynqmp/post-build.sh
|
||||
29
board/versal2/post-image.sh
Executable file
29
board/versal2/post-image.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# By default U-Boot loads DTB from a file named "system.dtb", and
|
||||
# with versal2, the Linux DTB is the same as the U-Boot DTB, so
|
||||
# let's use a symlink since the DTB is the same.
|
||||
ln -fs "${BINARIES_DIR}/u-boot.dtb" "${BINARIES_DIR}/system.dtb"
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
cat <<-__HEADER_EOF > "${BINARIES_DIR}/bootgen.bif"
|
||||
the_ROM_image:
|
||||
{
|
||||
image {
|
||||
{ type=bootimage, file=${BINARIES_DIR}/boot.pdi }
|
||||
{ type=bootloader, file=${BINARIES_DIR}/plm.elf }
|
||||
{ core=asu, file=${BINARIES_DIR}/asufw.elf }
|
||||
}
|
||||
image {
|
||||
id = 0x1c000000, name=apu_subsystem
|
||||
{ type=raw, load=0x01000000, file=${BINARIES_DIR}/u-boot.dtb }
|
||||
{ core=a78-0, cluster=0, exception_level=el-3, trustzone, file=${BINARIES_DIR}/bl31.elf }
|
||||
{ core=a78-0, cluster=0, exception_level=el-1, trustzone, load=0x1800000, file=${BINARIES_DIR}/tee-raw.bin }
|
||||
{ core=a78-0, cluster=0, exception_level=el-2, file=${BINARIES_DIR}/u-boot.elf }
|
||||
}
|
||||
}
|
||||
__HEADER_EOF
|
||||
|
||||
"${HOST_DIR}/bin/bootgen" -arch versal_2ve_2vm -image "${BINARIES_DIR}/bootgen.bif" -o "${BINARIES_DIR}/boot.bin" -w on
|
||||
support/scripts/genimage.sh -c "${BOARD_DIR}/genimage.cfg"
|
||||
182
board/versal2/readme.txt
Normal file
182
board/versal2/readme.txt
Normal file
@@ -0,0 +1,182 @@
|
||||
This document describes the Buildroot support for the following
|
||||
Xilinx Versal Gen2 boards:
|
||||
|
||||
******************************************
|
||||
Supported Versal Gen2 Boards:
|
||||
Xilinx VEK385 board
|
||||
******************************************
|
||||
|
||||
Evaluation board features can be found here with the links below.
|
||||
|
||||
VEK385:
|
||||
https://www.amd.com/en/products/adaptive-socs-and-fpgas/evaluation-boards/vek385.html
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make versal2_vek385_defconfig
|
||||
|
||||
Compile everything and build the rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
+-- asufw.elf
|
||||
+-- bl31.elf
|
||||
+-- boot.bin
|
||||
+-- bootgen.bif
|
||||
+-- boot.pdi
|
||||
+-- boot.vfat
|
||||
+-- extlinux.conf
|
||||
+-- Image
|
||||
+-- plm.elf
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.ext4 -> rootfs.ext2
|
||||
+-- sdcard.img
|
||||
+-- system.dtb -> u-boot.dtb
|
||||
+-- tee-raw.bin
|
||||
+-- u-boot.dtb
|
||||
`-- u-boot.elf
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
WARNING! This will destroy all the card content. Use with care!
|
||||
|
||||
The sdcard.img file is a complete bootable image ready to be written
|
||||
on the boot medium. To install it, simply copy the image to an SD
|
||||
card:
|
||||
|
||||
# dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where 'sdX' is the device node of the SD.
|
||||
|
||||
Eject the SD card, insert it in the board, and power it up.
|
||||
|
||||
Support for other boards:
|
||||
=========================
|
||||
|
||||
If you want to build a system for other boards based on the same SoC, and the
|
||||
board is already supported by the upstream kernel, U-Boot, and
|
||||
xilinx-prebuilt, you simply need to change the following Buildroot options:
|
||||
|
||||
- U-Boot (BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=<dts file name>")
|
||||
- xilinx-prebuilt (BR2_TARGET_XILINX_PREBUILT_BOARD)
|
||||
|
||||
Custom versal2 board support:
|
||||
|
||||
To generate a boot.bin image, Versal2 boards require a PDI (Programmable Device
|
||||
Image) generated by Xilinx Vivado which contains all the hardware specific
|
||||
boot information, such as clock, MIO and DDR initializations as well as any
|
||||
customizations in the programmable logic. Since this PDI can only be generated
|
||||
by Xilinx Vivado, Buildroot needs access to the prebuilt image. The Buildroot
|
||||
xilinx-prebuilt package has support for Versal2 XSA files exported from Xilinx
|
||||
Vivado.
|
||||
|
||||
Using the option BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA, Buildroot can obtain
|
||||
the prebuilt PDI from the XSA file.
|
||||
|
||||
1) Start with a defconfig supported by Buildroot (e.g. VEK385)
|
||||
make versal2_vek385_defconfig
|
||||
|
||||
2) make menuconfig
|
||||
Visit the following menu and enable BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA
|
||||
|
||||
Bootloaders --->
|
||||
xilinx-prebuilt --->
|
||||
[*] download a prebuilt Versal XSA
|
||||
|
||||
3) Within the same menuconfig, configure location of XSA. It can be in the
|
||||
local file system or downloadable from an https:// location.
|
||||
|
||||
Bootloaders --->
|
||||
xilinx-prebuilt --->
|
||||
(<path to XSA>) URL of custom XSA
|
||||
|
||||
4) make
|
||||
|
||||
The resulting output/images will contain a boot.bin that includes the custom
|
||||
PDI file extracted from the Xilinx Vivado exported XSA file.
|
||||
|
||||
How to write boot.bin to VEK385 OSPI boot flash
|
||||
=======================================================
|
||||
|
||||
The VEK385 cannot be configured to boot from the SD card directly because it
|
||||
is connected to the 2VE3858 by a USB to SD card bridge and not connected
|
||||
directly. For this reason, the boot.bin needs to be in the OSPI flash for
|
||||
booting the first boot stage, and u-boot can then boot Linux and the file
|
||||
system from the SD card.
|
||||
|
||||
For writing the boot.bin file to the OSPI flash the first time, it is
|
||||
recommended to use the board system controller with the instructions on the
|
||||
wiki page below:
|
||||
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2273738753/Versal+Evaluation+Board+-+System+Controller+-+Update+7
|
||||
|
||||
Once the first boot.bin has been flashed and the VEK385 is able to boot into
|
||||
u-boot, u-boot can then be used for subsequent updates to the OSPI flash using
|
||||
the instructions below.
|
||||
|
||||
VEK385 U-Boot Flashing Instructions:
|
||||
$ usb start
|
||||
$ sf probe
|
||||
$ fatload usb 0 0x40000000 boot.bin
|
||||
$ sf erase 0x0 +$filesize
|
||||
$ sf write 0x40000000 0x0 $filesize
|
||||
|
||||
If a valid boot.bin is already in the OSPI flash, it is possible to boot the
|
||||
Buildroot generated SD card image without updating the OSPI boot.bin image, so
|
||||
this is an optional step when just updating Linux and the file system.
|
||||
|
||||
IMPORTANT NOTES for the VEK385
|
||||
=======================================================
|
||||
|
||||
1) The base-design.pdi on the https://github.com/Xilinx/soc-prebuilt-firmware
|
||||
repo is designed for revB of the VEK385 and will not work properly on revA.
|
||||
Users should either create their own Vivado XSA file if they have a revA
|
||||
board, or make sure to get a VEK385 revB or newer board.
|
||||
|
||||
2) The default u-boot bootcmd is not the distro_bootcmd that buildroot
|
||||
expects. When booting for the first time, please stop the boot in u-boot
|
||||
and run the following commands:
|
||||
$ setenv bootcmd 'run distro_bootcmd'
|
||||
$ saveenv
|
||||
$ boot
|
||||
|
||||
3) When using the 2025.2 release, the default u-boot env value for fdt_addr_r
|
||||
is 0x21000000 which overlaps with the OS image causing the following boot
|
||||
failure:
|
||||
|
||||
Found /extlinux/extlinux.conf
|
||||
Retrieving file: /extlinux/extlinux.conf
|
||||
1: linux
|
||||
Retrieving file: /Image
|
||||
append: console="ttyAMA1,115200" root="/dev/sdd2" rw rootwait
|
||||
Retrieving file: /system.dtb
|
||||
## Flattened Device Tree blob at 21000000
|
||||
Booting using the fdt blob at 0x21000000
|
||||
ERROR: FDT image overlaps OS image (OS=20200000..21cf0000)
|
||||
EXTLINUX FAILED: continuing...
|
||||
|
||||
This will be fixed with 2026.1 and future releases, but for 2025.2, users
|
||||
must run the following u-boot commands to change the default value.
|
||||
$ setenv fdt_addr_r 0x31000000
|
||||
$ saveenv
|
||||
|
||||
4) Depending on the device tree used, the USB->SD card interface may not be
|
||||
probed as /dev/sdd as the probing order can vary based on the device tree
|
||||
configuration. To deal with this, users will need to change the last
|
||||
parameter of BR2_ROOTFS_POST_SCRIPT_ARGS to sda2, sdb2 or sdc2 depending on
|
||||
which corresponds to their configuration's USB->SD card.
|
||||
|
||||
For example, the default value in the versal2_vek385_defconfig:
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA1,115200 sdd2"
|
||||
|
||||
If the USB->SD card interface probed first, this would need to be changed to:
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA1,115200 sda2"
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 4d16661f367adb8713113acb420a1ad5f611ce6a309e98005a8ea3273511f03d xlnx_rebase_v2.12_2025.1.tar.gz
|
||||
sha256 ea59fbfb702857a24f96ee8e9cf04f997942db1de98f8406b7daf9dcc8f4e9ea xlnx_rebase_v2.12_2025.2.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 ea55acf69bead3d4cf121de414cccfbe75a3c36465c93d9500cc00688d9b8d9d xlnx_rebase_v6.12_LTS_merge_6.12.40.tar.gz
|
||||
sha256 38aec9ce252ed6a0b64d294d4d58bf51e25b249eefb31b800a5ce62cb084298a xlnx_rebase_v6.12_LTS_2025.2.tar.gz
|
||||
|
||||
2
board/xilinx/patches/optee-os/optee-os.hash
Normal file
2
board/xilinx/patches/optee-os/optee-os.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 3b8969a25815a0be84f34033827e5eb557e10f0f13ebabaee339461f8520ec72 xlnx_rebase_v4.5.0_2025.2.tar.gz
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b86d6f07d16a83ed0bdbd9b9439e099afc87ba7dfb77246e2472183848e2ea93 xlnx_rebase_v2025.01_2025.1.tar.gz
|
||||
sha256 8819cbebda739436d5d2fbdef578ec3c9b902f7edbe0ce4ed6f0ddf254fcf2a7 xlnx_rebase_v2025.01_2025.2.tar.gz
|
||||
|
||||
Reference in New Issue
Block a user