From 288207cd5bcbd88d0c11bcb5089b7411d1fd921b Mon Sep 17 00:00:00 2001 From: Neal Frager Date: Fri, 25 Nov 2022 07:07:59 -0700 Subject: [PATCH] package/versal-firmware: new package This patch adds support for downloading versal microblaze firmware binaries. These are necessary for booting Xilinx versal devices. The location of these binaries is temporary, and will soon be added to the Xilinx firmware repository. The temporary location is using the same free distribution license as the Xilinx firmware repository. Once these files are available on the Xilinx repository, this package will be updated to the new location. Signed-off-by: Neal Frager Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 1 + package/Config.in | 1 + package/versal-firmware/Config.in | 24 ++++++++++++++++++++++ package/versal-firmware/versal-firmware.mk | 21 +++++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 package/versal-firmware/Config.in create mode 100644 package/versal-firmware/versal-firmware.mk diff --git a/DEVELOPERS b/DEVELOPERS index a2c60f38fd..61a50b5863 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2195,6 +2195,7 @@ F: configs/zynqmp_zcu102_defconfig F: configs/zynqmp_zcu106_defconfig F: configs/zynqmp_kria_kv260_defconfig F: package/bootgen/ +F: package/versal-firmware/ N: Nicola Di Lieto F: package/uacme/ diff --git a/package/Config.in b/package/Config.in index 7d227f8112..1a2bda4639 100644 --- a/package/Config.in +++ b/package/Config.in @@ -443,6 +443,7 @@ menu "Firmware" source "package/sunxi-boards/Config.in" source "package/ts4900-fpga/Config.in" source "package/ux500-firmware/Config.in" + source "package/versal-firmware/Config.in" source "package/wilc-firmware/Config.in" source "package/wilink-bt-firmware/Config.in" source "package/zd1211-firmware/Config.in" diff --git a/package/versal-firmware/Config.in b/package/versal-firmware/Config.in new file mode 100644 index 0000000000..8d13816149 --- /dev/null +++ b/package/versal-firmware/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_VERSAL_FIRMWARE + bool "versal-firmware" + depends on BR2_aarch64 + help + Pre-built firmware files for Xilinx Versal boards. + + https://github.com/nealfrager/buildroot-firmware + +if BR2_PACKAGE_VERSAL_FIRMWARE + +config BR2_PACKAGE_VERSAL_FIRMWARE_VERSION + string "firmware version" + default "v2022.2" + help + Release version of Versal firmware. + +config BR2_PACKAGE_VERSAL_FIRMWARE_BOARD + string "board name" + default "vck190" + help + Name of Versal target board. + Used for installing the appropriate firmware. + +endif # BR2_PACKAGE_VERSAL_FIRMWARE diff --git a/package/versal-firmware/versal-firmware.mk b/package/versal-firmware/versal-firmware.mk new file mode 100644 index 0000000000..3e4b9e558d --- /dev/null +++ b/package/versal-firmware/versal-firmware.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# versal-firmware +# +################################################################################ + +VERSAL_FIRMWARE_VERSION = $(call qstrip,$(BR2_PACKAGE_VERSAL_FIRMWARE_VERSION)) +VERSAL_FIRMWARE_SITE = $(call github,nealfrager,buildroot-firmware,$(VERSAL_FIRMWARE_VERSION)) +VERSAL_FIRMWARE_LICENSE = Xilinx-Binary-Only +VERSAL_FIRMWARE_LICENSE_FILES = LICENSE +VERSAL_FIRMWARE_INSTALL_TARGET = NO +VERSAL_FIRMWARE_INSTALL_IMAGES = YES + +define VERSAL_FIRMWARE_INSTALL_IMAGES_CMDS + $(foreach f,plm.elf psmfw.elf vpl_gen_fixed.pdi,\ + $(INSTALL) -D -m 0755 $(@D)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)_$(f) \ + $(BINARIES_DIR)/$(BR2_PACKAGE_VERSAL_FIRMWARE_BOARD)_$(f) + ) +endef + +$(eval $(generic-package))