Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package
@ 2025-04-24  6:36 Neal Frager via buildroot
  2025-04-24  6:36 ` [Buildroot] [PATCH v2 2/2] configs/xilinx: add xilinx-fpgautil to xilinx defconfigs Neal Frager via buildroot
  2025-04-30 13:05 ` [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package Luca Ceresoli via buildroot
  0 siblings, 2 replies; 5+ messages in thread
From: Neal Frager via buildroot @ 2025-04-24  6:36 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
	thomas.petazzoni, Neal Frager, fabio.caccamo, romain.naour,
	michal.simek, arnout

Add a new package to Buildroot called xilinx-fpgautil which builds the Xilinx
fpgautil script which can be used for loading FPGA bitstreams on zynq, zynqmp
and versal products at run-time.  This is a handy application for loading
FPGA bitstreams and their corresponding device tree overlays.

An explanation of how this script can be used for each type of product can be
found on the wiki pages below.

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841847/Solution+ZynqMP+PL+Programming
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1188397412/Solution+Versal+PL+Programming

In addition, the source code for xilinx-fpgautil can be found here:
https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c

The Xilinx fpgautil script can be used hand in hand with the Versal Segmented
Configuration with the following example command for programming the pld.pdi
file to the Versal FPGA:

fpgautil -b /lib/firmware/xilinx/<design-name>_pld.pdi -o /lib/firmware/xilinx/<dtbo-name>.dtbo

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- renamed package to xilinx-fpgautil
---
 DEVELOPERS                                   |  1 +
 package/Config.in                            |  1 +
 package/xilinx-fpgautil/Config.in            |  8 +++++++
 package/xilinx-fpgautil/xilinx-fpgautil.hash |  3 +++
 package/xilinx-fpgautil/xilinx-fpgautil.mk   | 22 ++++++++++++++++++++
 5 files changed, 35 insertions(+)
 create mode 100644 package/xilinx-fpgautil/Config.in
 create mode 100644 package/xilinx-fpgautil/xilinx-fpgautil.hash
 create mode 100644 package/xilinx-fpgautil/xilinx-fpgautil.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 1c84f95943..86375afa4a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2486,6 +2486,7 @@ F:	package/binutils-bare-metal/
 F:	package/bootgen/
 F:	package/gcc-bare-metal/
 F:	package/newlib-bare-metal/
+F:	package/xilinx-fpgautil/
 F:	toolchain/toolchain-bare-metal-buildroot/
 
 N:	Nicola Di Lieto <nicola.dilieto@gmail.com>
diff --git a/package/Config.in b/package/Config.in
index 291e784f26..690bb9618e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -457,6 +457,7 @@ menu "Firmware"
 	source "package/ux500-firmware/Config.in"
 	source "package/wilc-firmware/Config.in"
 	source "package/wilink-bt-firmware/Config.in"
+	source "package/xilinx-fpgautil/Config.in"
 	source "package/zd1211-firmware/Config.in"
 endmenu
 	source "package/18xx-ti-utils/Config.in"
diff --git a/package/xilinx-fpgautil/Config.in b/package/xilinx-fpgautil/Config.in
new file mode 100644
index 0000000000..29245c0c5e
--- /dev/null
+++ b/package/xilinx-fpgautil/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_XILINX_FPGAUTIL
+	bool "xilinx-fpgautil"
+	depends on BR2_arm || BR2_aarch64
+	help
+	  Xilinx FPGA Manager Utility for zynq, zynqmp
+	  and versal products.
+
+	  https://github.com/Xilinx/meta-xilinx/blob/master/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c
diff --git a/package/xilinx-fpgautil/xilinx-fpgautil.hash b/package/xilinx-fpgautil/xilinx-fpgautil.hash
new file mode 100644
index 0000000000..1329b9ad70
--- /dev/null
+++ b/package/xilinx-fpgautil/xilinx-fpgautil.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  439a3681d8efa9641ab39c7645836b9ac78b2fdb36242f9bc94c1f3dfb2d9c4e  xilinx-fpgautil-xlnx-rel-v2024.2_update3.tar.gz
+sha256  89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e  COPYING.MIT
diff --git a/package/xilinx-fpgautil/xilinx-fpgautil.mk b/package/xilinx-fpgautil/xilinx-fpgautil.mk
new file mode 100644
index 0000000000..bff7d1647e
--- /dev/null
+++ b/package/xilinx-fpgautil/xilinx-fpgautil.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# xilinx-fpgautil
+#
+################################################################################
+
+XILINX_FPGAUTIL_VERSION = xlnx-rel-v2024.2_update3
+XILINX_FPGAUTIL_SITE = $(call github,Xilinx,meta-xilinx,$(XILINX_FPGAUTIL_VERSION))
+XILINX_FPGAUTIL_LICENSE = MIT
+XILINX_FPGAUTIL_LICENSE_FILES = COPYING.MIT
+
+define XILINX_FPGAUTIL_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CC) $(TARGET_LDFLAGS) \
+		$(@D)/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c \
+		-o $(@D)/fpgautil
+endef
+
+define XILINX_FPGAUTIL_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 -D $(@D)/fpgautil $(TARGET_DIR)/bin/fpgautil
+endef
+
+$(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] 5+ messages in thread

end of thread, other threads:[~2025-05-02  7:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24  6:36 [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package Neal Frager via buildroot
2025-04-24  6:36 ` [Buildroot] [PATCH v2 2/2] configs/xilinx: add xilinx-fpgautil to xilinx defconfigs Neal Frager via buildroot
2025-04-30 13:06   ` Luca Ceresoli via buildroot
2025-04-30 13:05 ` [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package Luca Ceresoli via buildroot
2025-05-02  7:33   ` Frager, Neal via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox