All of 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 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.