boot/xilinx-prebuilt: new boot package
This patch add a new boot package for downloading prebuilt firmware for Xilinx versal and zynqmp evaluation boards. It solves the problem of being able to verify the hash when downloading a prebuilt zynqmp pmufw.elf binary. Signed-off-by: Neal Frager <neal.frager@amd.com> Reviewed-by: Brandon Maier <brandon.maier@collins.com> [yann.morin.1998@free.fr: - move the hash file to the package dir, not the board dir - move board name after familly choice - add default board name for each family - qstrip the Kconfig strings before use - introduce XILINX_PREBUILT_BOARD_DIR to simplify paths - explain the *.pdi glob - simplify non-versal install ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
committed by
Yann E. MORIN
parent
106e43e303
commit
a6648ad8da
@@ -2336,8 +2336,10 @@ F: package/qt5/qt5opcua/
|
||||
|
||||
N: Neal Frager <neal.frager@amd.com>
|
||||
F: board/versal/
|
||||
F: board/xilinx/
|
||||
F: board/zynq/
|
||||
F: board/zynqmp/
|
||||
F: boot/xilinx-prebuilt/
|
||||
F: configs/versal_vck190_defconfig
|
||||
F: configs/zynq_zc702_defconfig
|
||||
F: configs/zynq_zc706_defconfig
|
||||
|
||||
@@ -21,5 +21,6 @@ source "boot/ti-k3-boot-firmware/Config.in"
|
||||
source "boot/ti-k3-r5-loader/Config.in"
|
||||
source "boot/uboot/Config.in"
|
||||
source "boot/vexpress-firmware/Config.in"
|
||||
source "boot/xilinx-prebuilt/Config.in"
|
||||
|
||||
endmenu
|
||||
|
||||
48
boot/xilinx-prebuilt/Config.in
Normal file
48
boot/xilinx-prebuilt/Config.in
Normal file
@@ -0,0 +1,48 @@
|
||||
config BR2_TARGET_XILINX_PREBUILT
|
||||
bool "xilinx-prebuilt"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Pre-built firmware files for Xilinx boards.
|
||||
|
||||
https://github.com/Xilinx/soc-prebuilt-firmware
|
||||
|
||||
if BR2_TARGET_XILINX_PREBUILT
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_VERSION
|
||||
string "prebuilt version"
|
||||
default "xilinx_v2024.1"
|
||||
help
|
||||
Release version of Xilinx firmware.
|
||||
Must be xilinx_v2023.1 or newer.
|
||||
|
||||
choice
|
||||
bool "family variant"
|
||||
default BR2_TARGET_XILINX_PREBUILT_ZYNQMP
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_ZYNQMP
|
||||
bool "zynqmp"
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_KRIA
|
||||
bool "kria"
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_VERSAL
|
||||
bool "versal"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_FAMILY
|
||||
string
|
||||
default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP
|
||||
default "kria" if BR2_TARGET_XILINX_PREBUILT_KRIA
|
||||
default "versal" if BR2_TARGET_XILINX_PREBUILT_VERSAL
|
||||
|
||||
config BR2_TARGET_XILINX_PREBUILT_BOARD
|
||||
string "board name"
|
||||
default "zcu102" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP
|
||||
default "kr260" if BR2_TARGET_XILINX_PREBUILT_KRIA
|
||||
default "vck190" if BR2_TARGET_XILINX_PREBUILT_VERSAL
|
||||
help
|
||||
Name of Xilinx target board.
|
||||
Used for installing the appropriate firmware.
|
||||
|
||||
endif # BR2_TARGET_XILINX_PREBUILT
|
||||
2
boot/xilinx-prebuilt/xilinx-prebuilt.hash
Normal file
2
boot/xilinx-prebuilt/xilinx-prebuilt.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 7abcba4e0e44e3a4adf9c1f971d918575226d7604dfd64a386baaa00c1c6c35f xilinx-prebuilt-xilinx_v2024.1.tar.gz
|
||||
43
boot/xilinx-prebuilt/xilinx-prebuilt.mk
Normal file
43
boot/xilinx-prebuilt/xilinx-prebuilt.mk
Normal file
@@ -0,0 +1,43 @@
|
||||
################################################################################
|
||||
#
|
||||
# xilinx-prebuilt
|
||||
#
|
||||
################################################################################
|
||||
|
||||
XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION))
|
||||
XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION))
|
||||
XILINX_PREBUILT_LICENSE = MIT
|
||||
XILINX_PREBUILT_LICENSE_FILES = LICENSE
|
||||
XILINX_PREBUILT_INSTALL_TARGET = NO
|
||||
XILINX_PREBUILT_INSTALL_IMAGES = YES
|
||||
|
||||
XILINX_PREBUILT_FAMILY = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_FAMILY))
|
||||
XILINX_PREBUILT_BOARD = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_BOARD))
|
||||
|
||||
XILINX_PREBUILT_BOARD_DIR = $(@D)/$(XILINX_PREBUILT_BOARD)-$(XILINX_PREBUILT_FAMILY)
|
||||
|
||||
ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y)
|
||||
# We need the *.pdi glob, because the file has different names for the
|
||||
# different boards, but htere is only one, and it has to be named
|
||||
# vpl_gen_fixed.pdi when installed.
|
||||
define XILINX_PREBUILT_INSTALL_VERSAL
|
||||
$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \
|
||||
$(BINARIES_DIR)/plm.elf
|
||||
$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \
|
||||
$(BINARIES_DIR)/psmfw.elf
|
||||
$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \
|
||||
$(BINARIES_DIR)/vpl_gen_fixed.pdi
|
||||
endef
|
||||
else # BR2_TARGET_XILINX_PREBUILT_VERSAL
|
||||
define XILINX_PREBUILT_INSTALL_OTHERS
|
||||
$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/pmufw.elf \
|
||||
$(BINARIES_DIR)/pmufw.elf
|
||||
endef
|
||||
endif # BR2_TARGET_XILINX_PREBUILT_VERSAL
|
||||
|
||||
define XILINX_PREBUILT_INSTALL_IMAGES_CMDS
|
||||
$(XILINX_PREBUILT_INSTALL_VERSAL)
|
||||
$(XILINX_PREBUILT_INSTALL_OTHERS)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user