Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1 1/1] boot/xilinx-embeddedsw: add family variant choice
@ 2025-06-17 20:58 Neal Frager via buildroot
  2025-07-09 15:08 ` Luca Ceresoli via buildroot
  0 siblings, 1 reply; 5+ messages in thread
From: Neal Frager via buildroot @ 2025-06-17 20:58 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, Neal Frager, brandon.maier,
	ju.o, thomas.petazzoni, romain.naour, michal.simek, romain.naour

This patch adds a family variant choice to xilinx-embeddedsw for two reasons.

1. It does not make sense to build a zynqmp_pmufw for a versal platform or
versal_plm and versal_psmfw applications for a zynqmp platform.  With this
solution, users can only select applications which are targeted for their
device family.

2. Buildroot will soon be adding support for the versal_2ve_2vm second gen
family. This family has a plm boot application that generates a plm.elf just
like the current versal platform. If a user was to select both the versal_plm
and the versal_2ve_2vm_plm, two different plm.elf files will be generated
causing a conflict at the installation step and a run-time failure when the
wrong plm.elf gets included in the boot.bin.  By having a family variant,
only one plm.elf can be built at a time depending on the choice of family
variant being "versal" or "versal_2ve_2vm".

The issue can be seen by comparing the two Makefiles which both create a
plm.elf.

versal plm:
https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/versal_plm/src/versal

versal_2ve_2vm plm:
https://github.com/Xilinx/embeddedsw/tree/master/lib/sw_apps/versal_plm/src/versal_2ve_2vm

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
 boot/xilinx-embeddedsw/Config.in | 15 +++++++++++++++
 configs/versal_vck190_defconfig  |  1 +
 configs/versal_vek280_defconfig  |  1 +
 configs/versal_vpk180_defconfig  |  1 +
 4 files changed, 18 insertions(+)

diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
index 0dd6433608..7af8d59929 100644
--- a/boot/xilinx-embeddedsw/Config.in
+++ b/boot/xilinx-embeddedsw/Config.in
@@ -28,8 +28,21 @@ config BR2_TARGET_XILINX_EMBEDDEDSW_VERSION
 	  Release version of Xilinx/embeddedsw.
 	  Must be xilinx_v2023.1 or newer.
 
+choice
+	bool "family variant"
+	default BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP
+
+config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL
+	bool "versal"
+
+config BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP
+	bool "zynqmp"
+
+endchoice
+
 config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM
 	bool "versal plm"
+	depends on BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL
 	help
 	  Build versal plm application from Xilinx/embeddedsw repo.
 	  If selected, the xilinx-prebuilt package will not install
@@ -40,6 +53,7 @@ config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM
 
 config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
 	bool "versal psmfw"
+	depends on BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL
 	help
 	  Build versal psmfw application from Xilinx/embeddedsw repo.
 	  If selected, the xilinx-prebuilt package will not install
@@ -50,6 +64,7 @@ config BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
 
 config BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
 	bool "zynqmp pmufw"
+	depends on BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP
 	help
 	  Build zynqmp pmufw application from Xilinx/embeddedsw repo.
 	  If selected, the xilinx-prebuilt package will not install
diff --git a/configs/versal_vck190_defconfig b/configs/versal_vck190_defconfig
index c9d99876d5..44bf9bc376 100644
--- a/configs/versal_vck190_defconfig
+++ b/configs/versal_vck190_defconfig
@@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_FORMAT_DTB=y
 BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y
 BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vck190-rev1.1"
 BR2_TARGET_XILINX_EMBEDDEDSW=y
+BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y
 BR2_TARGET_XILINX_PREBUILT=y
diff --git a/configs/versal_vek280_defconfig b/configs/versal_vek280_defconfig
index 4aa25f8d67..0bd24b304f 100644
--- a/configs/versal_vek280_defconfig
+++ b/configs/versal_vek280_defconfig
@@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_FORMAT_DTB=y
 BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y
 BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vek280-revB"
 BR2_TARGET_XILINX_EMBEDDEDSW=y
+BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y
 BR2_TARGET_XILINX_PREBUILT=y
diff --git a/configs/versal_vpk180_defconfig b/configs/versal_vpk180_defconfig
index 500298c2f4..746c36fb18 100644
--- a/configs/versal_vpk180_defconfig
+++ b/configs/versal_vpk180_defconfig
@@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_FORMAT_DTB=y
 BR2_TARGET_UBOOT_FORMAT_REMAKE_ELF=y
 BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=versal-vpk180-revA"
 BR2_TARGET_XILINX_EMBEDDEDSW=y
+BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM=y
 BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW=y
 BR2_TARGET_XILINX_PREBUILT=y
-- 
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-08-13 10:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 20:58 [Buildroot] [PATCH v1 1/1] boot/xilinx-embeddedsw: add family variant choice Neal Frager via buildroot
2025-07-09 15:08 ` Luca Ceresoli via buildroot
2025-07-09 23:13   ` Frager, Neal via buildroot
2025-08-13  8:20     ` Luca Ceresoli via buildroot
2025-08-13 10:33       ` Thomas Petazzoni via buildroot

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