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

* [Buildroot] [PATCH v2 2/2] configs/xilinx: add xilinx-fpgautil to xilinx defconfigs
  2025-04-24  6:36 [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package Neal Frager via buildroot
@ 2025-04-24  6:36 ` 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
  1 sibling, 1 reply; 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

This adds the xilinx-fpgautil application to all Xilinx zynq, zynqmp and
versal defconfigs.

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- use new xilinx-fpgautil package name
---
 configs/versal_vck190_defconfig     | 1 +
 configs/versal_vek280_defconfig     | 1 +
 configs/versal_vpk180_defconfig     | 1 +
 configs/zynq_microzed_defconfig     | 1 +
 configs/zynq_zc702_defconfig        | 1 +
 configs/zynq_zc706_defconfig        | 1 +
 configs/zynq_zed_defconfig          | 1 +
 configs/zynqmp_kria_kd240_defconfig | 1 +
 configs/zynqmp_kria_kr260_defconfig | 1 +
 configs/zynqmp_kria_kv260_defconfig | 1 +
 configs/zynqmp_zcu102_defconfig     | 1 +
 configs/zynqmp_zcu104_defconfig     | 1 +
 configs/zynqmp_zcu106_defconfig     | 1 +
 13 files changed, 13 insertions(+)

diff --git a/configs/versal_vck190_defconfig b/configs/versal_vck190_defconfig
index 2f40c210a8..368133e916 100644
--- a/configs/versal_vck190_defconfig
+++ b/configs/versal_vck190_defconfig
@@ -15,6 +15,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vck190-rev1.1"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/versal_vek280_defconfig b/configs/versal_vek280_defconfig
index af8bed884f..1d83e55499 100644
--- a/configs/versal_vek280_defconfig
+++ b/configs/versal_vek280_defconfig
@@ -15,6 +15,7 @@ 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_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/versal_vpk180_defconfig b/configs/versal_vpk180_defconfig
index afa606ec8c..7729c655c3 100644
--- a/configs/versal_vpk180_defconfig
+++ b/configs/versal_vpk180_defconfig
@@ -15,6 +15,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/versal-vpk180-revA"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
index b9b2da3849..f9be297b99 100644
--- a/configs/zynq_microzed_defconfig
+++ b/configs/zynq_microzed_defconfig
@@ -16,6 +16,7 @@ BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-microzed"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig
index ab42abe655..4c6361a9b7 100644
--- a/configs/zynq_zc702_defconfig
+++ b/configs/zynq_zc702_defconfig
@@ -16,6 +16,7 @@ BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zc702"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
index d7ce9cf11a..bc853f522d 100644
--- a/configs/zynq_zc706_defconfig
+++ b/configs/zynq_zc706_defconfig
@@ -16,6 +16,7 @@ BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zc706"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
index c9e8e7ea2c..d0fbaf2ea5 100644
--- a/configs/zynq_zed_defconfig
+++ b/configs/zynq_zed_defconfig
@@ -16,6 +16,7 @@ BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynq-zed"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 BR2_TARGET_UBOOT=y
diff --git a/configs/zynqmp_kria_kd240_defconfig b/configs/zynqmp_kria_kd240_defconfig
index 261b73d6cf..4ba4be861f 100644
--- a/configs/zynqmp_kria_kd240_defconfig
+++ b/configs/zynqmp_kria_kd240_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k24-revA-sck-kd-g-revA"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynqmp_kria_kr260_defconfig b/configs/zynqmp_kria_kr260_defconfig
index 2cf2b98aa5..fdd868bbb5 100644
--- a/configs/zynqmp_kria_kr260_defconfig
+++ b/configs/zynqmp_kria_kr260_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kr-g-revB"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynqmp_kria_kv260_defconfig b/configs/zynqmp_kria_kv260_defconfig
index ef6a23f2a2..ff03f87b54 100644
--- a/configs/zynqmp_kria_kv260_defconfig
+++ b/configs/zynqmp_kria_kv260_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-smk-k26-revA-sck-kv-g-revB"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig
index 762a54d968..856c1d896d 100644
--- a/configs/zynqmp_zcu102_defconfig
+++ b/configs/zynqmp_zcu102_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu102-rev1.0"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynqmp_zcu104_defconfig b/configs/zynqmp_zcu104_defconfig
index 92e0d41736..c21058be74 100644
--- a/configs/zynqmp_zcu104_defconfig
+++ b/configs/zynqmp_zcu104_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu104-revC"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
diff --git a/configs/zynqmp_zcu106_defconfig b/configs/zynqmp_zcu106_defconfig
index 51287fdffb..5e13c39a1a 100644
--- a/configs/zynqmp_zcu106_defconfig
+++ b/configs/zynqmp_zcu106_defconfig
@@ -14,6 +14,7 @@ BR2_LINUX_KERNEL_DEFCONFIG="xilinx"
 BR2_LINUX_KERNEL_DTS_SUPPORT=y
 BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu106-revA"
 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_PACKAGE_XILINX_FPGAUTIL=y
 BR2_TARGET_ROOTFS_EXT2=y
 BR2_TARGET_ROOTFS_EXT2_4=y
 # BR2_TARGET_ROOTFS_TAR is not set
-- 
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

* Re: [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package
  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:05 ` Luca Ceresoli via buildroot
  2025-05-02  7:33   ` Frager, Neal via buildroot
  1 sibling, 1 reply; 5+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-04-30 13:05 UTC (permalink / raw)
  To: Neal Frager
  Cc: ibai.erkiaga-elorza, arnout, brandon.maier, ju.o,
	thomas.petazzoni, buildroot, fabio.caccamo, romain.naour,
	michal.simek

Hello Neal,

On Thu, 24 Apr 2025 07:36:18 +0100
Neal Frager <neal.frager@amd.com> wrote:

> 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>

[...]

> --- /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
                                                          ^^^^

Are you installing in /bin for some reason? /usr/bin seems the right
place.

Otherwise looks good, so in case you send v3 with only the /usr/bin
change, you can add:

 [build-tested only]
 Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
 Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2 2/2] configs/xilinx: add xilinx-fpgautil to xilinx defconfigs
  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
  0 siblings, 0 replies; 5+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-04-30 13:06 UTC (permalink / raw)
  To: Neal Frager
  Cc: ibai.erkiaga-elorza, arnout, brandon.maier, ju.o,
	thomas.petazzoni, buildroot, fabio.caccamo, romain.naour,
	michal.simek

On Thu, 24 Apr 2025 07:36:19 +0100
Neal Frager <neal.frager@amd.com> wrote:

> This adds the xilinx-fpgautil application to all Xilinx zynq, zynqmp and
> versal defconfigs.
> 
> Signed-off-by: Neal Frager <neal.frager@amd.com>

Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* Re: [Buildroot] [PATCH v2 1/2] package/xilinx-fpgautil: new package
  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
  0 siblings, 0 replies; 5+ messages in thread
From: Frager, Neal via buildroot @ 2025-05-02  7:33 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, Caccamo, Fabio, romain.naour@smile.fr,
	Simek, Michal

[AMD Official Use Only - AMD Internal Distribution Only]

Hello Luca,

> 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>

> [...]

> --- /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
                                                          ^^^^

> Are you installing in /bin for some reason? /usr/bin seems the right
> place.

Thanks for catching this.  I made the change in v3.

> Otherwise looks good, so in case you send v3 with only the /usr/bin
> change, you can add:

> [build-tested only]
> Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

Added to commit message.  Thanks again!

Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[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