All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 1/5] boot/xilinx-prebuilt: new boot package
@ 2024-06-12  7:55 Neal Frager via buildroot
  2024-06-12  7:55 ` [Buildroot] [PATCH v1 2/5] boot/uboot.mk: new zynqmp pmufw prebuilt option Neal Frager via buildroot
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Neal Frager via buildroot @ 2024-06-12  7:55 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier,
	thomas.petazzoni, Neal Frager, michal.simek, yann.morin.1998

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>
---
 DEVELOPERS                                    |  2 +
 .../xilinx-prebuilt/xilinx-prebuilt.hash      |  2 +
 boot/Config.in                                |  1 +
 boot/xilinx-prebuilt/Config.in                | 40 +++++++++++++++++++
 boot/xilinx-prebuilt/xilinx-prebuilt.mk       | 39 ++++++++++++++++++
 5 files changed, 84 insertions(+)
 create mode 100644 board/xilinx/patches/xilinx-prebuilt/xilinx-prebuilt.hash
 create mode 100644 boot/xilinx-prebuilt/Config.in
 create mode 100644 boot/xilinx-prebuilt/xilinx-prebuilt.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index cf48e01037..93627a0064 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2335,8 +2335,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
diff --git a/board/xilinx/patches/xilinx-prebuilt/xilinx-prebuilt.hash b/board/xilinx/patches/xilinx-prebuilt/xilinx-prebuilt.hash
new file mode 100644
index 0000000000..c955cd79f5
--- /dev/null
+++ b/board/xilinx/patches/xilinx-prebuilt/xilinx-prebuilt.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256  7abcba4e0e44e3a4adf9c1f971d918575226d7604dfd64a386baaa00c1c6c35f  xilinx-prebuilt-xilinx_v2024.1.tar.gz
diff --git a/boot/Config.in b/boot/Config.in
index 87e1b7c00e..1378a04d19 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -23,5 +23,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
diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in
new file mode 100644
index 0000000000..ec38e41993
--- /dev/null
+++ b/boot/xilinx-prebuilt/Config.in
@@ -0,0 +1,40 @@
+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.
+
+config BR2_TARGET_XILINX_PREBUILT_BOARD
+	string "board name"
+	default "zcu102"
+	help
+	  Name of Xilinx target board.
+	  Used for installing the appropriate firmware.
+
+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
+
+endif # BR2_TARGET_XILINX_PREBUILT
diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk
new file mode 100644
index 0000000000..98dd18da0d
--- /dev/null
+++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# 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
+
+ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y)
+define XILINX_PREBUILT_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/$(BR2_TARGET_XILINX_PREBUILT_BOARD)-versal/plm.elf \
+		$(BINARIES_DIR)/plm.elf
+	$(INSTALL) -D -m 0755 $(@D)/$(BR2_TARGET_XILINX_PREBUILT_BOARD)-versal/psmfw.elf \
+		$(BINARIES_DIR)/psmfw.elf
+	$(INSTALL) -D -m 0755 $(@D)/$(BR2_TARGET_XILINX_PREBUILT_BOARD)-versal/*.pdi \
+		$(BINARIES_DIR)/vpl_gen_fixed.pdi
+endef
+endif #BR2_TARGET_XILINX_PREBUILT_VERSAL
+
+ifeq ($(BR2_TARGET_XILINX_PREBUILT_ZYNQMP),y)
+define XILINX_PREBUILT_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/$(BR2_TARGET_XILINX_PREBUILT_BOARD)-zynqmp/pmufw.elf \
+		$(BINARIES_DIR)/pmufw.elf
+endef
+endif #BR2_TARGET_XILINX_PREBUILT_ZYNQMP
+
+ifeq ($(BR2_TARGET_XILINX_PREBUILT_KRIA),y)
+define XILINX_PREBUILT_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/$(BR2_TARGET_XILINX_PREBUILT_BOARD)-kria/pmufw.elf \
+		$(BINARIES_DIR)/pmufw.elf
+endef
+endif #BR2_TARGET_XILINX_PREBUILT_KRIA
+
+$(eval $(generic-package))
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-06-12 21:51 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-12  7:55 [Buildroot] [PATCH v1 1/5] boot/xilinx-prebuilt: new boot package Neal Frager via buildroot
2024-06-12  7:55 ` [Buildroot] [PATCH v1 2/5] boot/uboot.mk: new zynqmp pmufw prebuilt option Neal Frager via buildroot
2024-06-12 19:02   ` Brandon Maier via buildroot
2024-06-12 19:28     ` Frager, Neal via buildroot
2024-06-12 21:51       ` Brandon Maier via buildroot
2024-06-12  7:55 ` [Buildroot] [PATCH v1 3/5] configs/zynqmp_*: migrate to xilinx-prebuilt Neal Frager via buildroot
2024-06-12 19:04   ` Brandon Maier via buildroot
2024-06-12  7:55 ` [Buildroot] [PATCH v1 4/5] configs/versal_vck190_defconfig: " Neal Frager via buildroot
2024-06-12 19:05   ` Brandon Maier via buildroot
2024-06-12  7:55 ` [Buildroot] [PATCH v1 5/5] package/versal-firmware: remove package Neal Frager via buildroot
2024-06-12 19:05   ` Brandon Maier via buildroot
2024-06-12 18:52 ` [Buildroot] [PATCH v1 1/5] boot/xilinx-prebuilt: new boot package Brandon Maier via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.