diff --git a/DEVELOPERS b/DEVELOPERS index edf823b34b..d66717175b 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2436,6 +2436,7 @@ F: board/zynq/ F: board/zynqmp/ F: boot/xilinx-prebuilt/ F: configs/versal_vck190_defconfig +F: configs/versal_vek280_defconfig F: configs/versal_vpk180_defconfig F: configs/zynq_zc702_defconfig F: configs/zynq_zc706_defconfig diff --git a/board/versal/readme.txt b/board/versal/readme.txt index 9cf499b35b..4d8406fb1f 100644 --- a/board/versal/readme.txt +++ b/board/versal/readme.txt @@ -4,6 +4,7 @@ Xilinx Versal boards: ****************************************** Supported Versal Boards: Xilinx VCK190 board +Xilinx VEK280 board Xilinx VPK180 board ****************************************** @@ -12,6 +13,9 @@ Evaluation board features can be found here with the links below. VCK190: https://www.xilinx.com/products/boards-and-kits/vck190.html +VEK280: +https://www.xilinx.com/products/boards-and-kits/vek280.html + VPK180: https://www.xilinx.com/products/boards-and-kits/vpk180.html diff --git a/board/versal/vek280/patches/linux/0001-arm64-versal-Fix-vek280-memory-configuration.patch b/board/versal/vek280/patches/linux/0001-arm64-versal-Fix-vek280-memory-configuration.patch new file mode 100644 index 0000000000..d894ad35d1 --- /dev/null +++ b/board/versal/vek280/patches/linux/0001-arm64-versal-Fix-vek280-memory-configuration.patch @@ -0,0 +1,47 @@ +From: Michal Simek +Date: Mon, 15 Jul 2024 08:24:57 +0200 +Subject: [PATCH] arm64: versal: Fix vek280 memory configuration + +Board has 12GB total but Vivado wizard supports one channel LPDDR4 4GB +configuration (2GB low + 2GB high) or two channel LPDDR 8GB configuration +(2GB low + 6GB high). Wiring the remaining 4GB LPDDR can be done via board +tab but not available as option in wizard. That's why only describe 8GB by +default. + +Signed-off-by: Michal Simek +Signed-off-by: Neal Frager +Upstream: https://github.com/Xilinx/linux-xlnx/commit/3c7a97d99bdb3dd6b1f36d7d87d3a3c113dfe2ea +--- + arch/arm64/boot/dts/xilinx/versal-vek280-revA.dts | 2 +- + arch/arm64/boot/dts/xilinx/versal-vek280-revB.dts | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm64/boot/dts/xilinx/versal-vek280-revA.dts b/arch/arm64/boot/dts/xilinx/versal-vek280-revA.dts +index 1641dc0b5141..ad5d590318e6 100644 +--- a/arch/arm64/boot/dts/xilinx/versal-vek280-revA.dts ++++ b/arch/arm64/boot/dts/xilinx/versal-vek280-revA.dts +@@ -19,7 +19,7 @@ / { + + memory: memory@0 { + device_type = "memory"; +- reg = <0 0 0 0x80000000>, <0x8 0x0 0x7 0x80000000>; /* 32GB */ ++ reg = <0 0 0 0x80000000>, <0x8 0x80000000 0x1 0x80000000>; /* 2GB + 6GB */ + }; + + chosen { +diff --git a/arch/arm64/boot/dts/xilinx/versal-vek280-revB.dts b/arch/arm64/boot/dts/xilinx/versal-vek280-revB.dts +index fda47cd87b3a..80aae8fa4b11 100644 +--- a/arch/arm64/boot/dts/xilinx/versal-vek280-revB.dts ++++ b/arch/arm64/boot/dts/xilinx/versal-vek280-revB.dts +@@ -19,7 +19,7 @@ / { + + memory: memory@0 { + device_type = "memory"; +- reg = <0 0 0 0x80000000>, <0x8 0x0 0x7 0x80000000>; /* 32GB */ ++ reg = <0 0 0 0x80000000>, <0x8 0x80000000 0x1 0x80000000>; /* 2GB + 6GB */ + }; + + chosen { +-- +2.43.0 + diff --git a/configs/versal_vek280_defconfig b/configs/versal_vek280_defconfig new file mode 100644 index 0000000000..fcf440ed89 --- /dev/null +++ b/configs/versal_vek280_defconfig @@ -0,0 +1,44 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y +BR2_GLOBAL_PATCH_DIR="board/versal/vek280/patches board/xilinx/patches" +BR2_DOWNLOAD_FORCE_CHECK_HASHES=y +BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/versal/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="ttyAMA0,115200 mmcblk0p2" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xlnx_rebase_v6.6_LTS_merge_6.6.40)/xlnx_rebase_v6.6_LTS_merge_6.6.40.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vek280-revB" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,arm-trusted-firmware,xlnx_rebase_v2.10_2024.1)/xlnx_rebase_v2.10_2024.1.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="versal" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,u-boot-xlnx,xlnx_rebase_v2024.01_2024.1)/xlnx_rebase_v2024.01_2024.1.tar.gz" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_versal_virt" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_NEEDS_GNUTLS=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_DTB=y +BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y +BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vek280-revB" +BR2_TARGET_XILINX_PREBUILT=y +BR2_TARGET_XILINX_PREBUILT_VERSION="xilinx_v2024.1" +BR2_TARGET_XILINX_PREBUILT_VERSAL=y +BR2_TARGET_XILINX_PREBUILT_BOARD="vek280" +BR2_PACKAGE_HOST_BOOTGEN=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y