* [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA @ 2024-07-01 16:48 Brandon Maier via buildroot 2024-07-13 16:08 ` Romain Naour via buildroot 0 siblings, 1 reply; 8+ messages in thread From: Brandon Maier via buildroot @ 2024-07-01 16:48 UTC (permalink / raw) To: buildroot; +Cc: Yann E. MORIN, Brandon Maier, Neal Frager The xilinx-prebuilt package only supports development boards that Xilinx has published firmware for. Custom designs based on the Xilinx platform must generate their own firmware using the AMD Vivado Design Suite. Vivado produces an XSA file, which is a Zip file containing all the firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to download custom XSA files and extract their contents. Reviewed-by: Neal Frager <neal.frager@amd.com> Signed-off-by: Brandon Maier <brandon.maier@collins.com> --- Changes in v3: - Rebase on upstream changes to boot/xilinx-prebuilt - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com Changes in v2: - Fix help text to say XSA is created by Vivado [Neal] - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com --- boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in index d3df1c06e7..94ef3dd111 100644 --- a/boot/xilinx-prebuilt/Config.in +++ b/boot/xilinx-prebuilt/Config.in @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL endchoice +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + bool "download a prebuilt Versal XSA" + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL + help + The Xilinx Support Archive (XSA) provides custom Xilinx + firmware files generated by the AMD Vivado Design Suite. + + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File + +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION + string "URL of custom XSA" + help + This option allows to specify a URL pointing to an XSA source + file. This URL can use any protocol recognized by Buildroot, + like http://, ftp://, file:// or scp://. + + When pointing to a local XSA using file://, you may want to + use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. + +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + config BR2_TARGET_XILINX_PREBUILT_FAMILY string default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk index d09f4b13e2..c3000b7e45 100644 --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk @@ -5,9 +5,20 @@ ################################################################################ XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) + +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) +define XILINX_PREBUILT_EXTRACT_CMDS + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) +endef +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) XILINX_PREBUILT_LICENSE = MIT XILINX_PREBUILT_LICENSE_FILES = LICENSE +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + XILINX_PREBUILT_INSTALL_TARGET = NO XILINX_PREBUILT_INSTALL_IMAGES = YES @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) # We need the *.pdi glob, because the file has different names for the # different boards, but there is only one, and it has to be named # vpl_gen_fixed.pdi when installed. +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf +XILINX_PREBUILT_PDI = $(@D)/*.pdi +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA + define XILINX_PREBUILT_INSTALL - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ $(BINARIES_DIR)/plm.elf - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ $(BINARIES_DIR)/psmfw.elf - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ $(BINARIES_DIR)/vpl_gen_fixed.pdi endef else # BR2_TARGET_XILINX_PREBUILT_VERSAL --- base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 Best regards, -- Brandon Maier <brandon.maier@collins.com> _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-01 16:48 [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA Brandon Maier via buildroot @ 2024-07-13 16:08 ` Romain Naour via buildroot 2024-07-13 16:21 ` Brandon Maier via buildroot 0 siblings, 1 reply; 8+ messages in thread From: Romain Naour via buildroot @ 2024-07-13 16:08 UTC (permalink / raw) To: Brandon Maier, buildroot; +Cc: Yann E. MORIN, Neal Frager Hello Brandon, All, Le 01/07/2024 à 18:48, Brandon Maier via buildroot a écrit : > The xilinx-prebuilt package only supports development boards that Xilinx > has published firmware for. Custom designs based on the Xilinx platform > must generate their own firmware using the AMD Vivado Design Suite. > > Vivado produces an XSA file, which is a Zip file containing all the > firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to > download custom XSA files and extract their contents. > > Reviewed-by: Neal Frager <neal.frager@amd.com> > Signed-off-by: Brandon Maier <brandon.maier@collins.com> > --- > Changes in v3: > - Rebase on upstream changes to boot/xilinx-prebuilt > - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com > > Changes in v2: > - Fix help text to say XSA is created by Vivado [Neal] > - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com > --- > boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ > boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- > 2 files changed, 48 insertions(+), 3 deletions(-) > > diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in > index d3df1c06e7..94ef3dd111 100644 > --- a/boot/xilinx-prebuilt/Config.in > +++ b/boot/xilinx-prebuilt/Config.in > @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL > > endchoice > > +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > + bool "download a prebuilt Versal XSA" > + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL > + help > + The Xilinx Support Archive (XSA) provides custom Xilinx > + firmware files generated by the AMD Vivado Design Suite. > + > + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File > + > +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > + > +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION > + string "URL of custom XSA" > + help > + This option allows to specify a URL pointing to an XSA source > + file. This URL can use any protocol recognized by Buildroot, > + like http://, ftp://, file:// or scp://. > + > + When pointing to a local XSA using file://, you may want to > + use a make variable like $(TOPDIR) to reference the root of > + the Buildroot tree. > + > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > + > config BR2_TARGET_XILINX_PREBUILT_FAMILY > string > default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP > diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > index d09f4b13e2..c3000b7e45 100644 > --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk > +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > @@ -5,9 +5,20 @@ > ################################################################################ > > XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) > + > +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) > +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) > +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) > +define XILINX_PREBUILT_EXTRACT_CMDS > + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) > +endef > +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) > XILINX_PREBUILT_LICENSE = MIT > XILINX_PREBUILT_LICENSE_FILES = LICENSE > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > + > XILINX_PREBUILT_INSTALL_TARGET = NO > XILINX_PREBUILT_INSTALL_IMAGES = YES > > @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) > # We need the *.pdi glob, because the file has different names for the > # different boards, but there is only one, and it has to be named > # vpl_gen_fixed.pdi when installed. > +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf > +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as for Xilinx dev boards? > +XILINX_PREBUILT_PDI = $(@D)/*.pdi > +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf > +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf ^^^^^^^^^ Best regards, Romain > +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > + > define XILINX_PREBUILT_INSTALL > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ > $(BINARIES_DIR)/plm.elf > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ > $(BINARIES_DIR)/psmfw.elf > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ > $(BINARIES_DIR)/vpl_gen_fixed.pdi > endef > else # BR2_TARGET_XILINX_PREBUILT_VERSAL > > --- > base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 > change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 > > Best regards, _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 16:08 ` Romain Naour via buildroot @ 2024-07-13 16:21 ` Brandon Maier via buildroot 2024-07-13 16:46 ` Romain Naour via buildroot 0 siblings, 1 reply; 8+ messages in thread From: Brandon Maier via buildroot @ 2024-07-13 16:21 UTC (permalink / raw) To: Romain Naour, buildroot; +Cc: Yann E. MORIN, Neal Frager On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: > Hello Brandon, All, > > Le 01/07/2024 à 18:48, Brandon Maier via buildroot a écrit : > > The xilinx-prebuilt package only supports development boards that Xilinx > > has published firmware for. Custom designs based on the Xilinx platform > > must generate their own firmware using the AMD Vivado Design Suite. > > > > Vivado produces an XSA file, which is a Zip file containing all the > > firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to > > download custom XSA files and extract their contents. > > > > Reviewed-by: Neal Frager <neal.frager@amd.com> > > Signed-off-by: Brandon Maier <brandon.maier@collins.com> > > --- > > Changes in v3: > > - Rebase on upstream changes to boot/xilinx-prebuilt > > - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com > > > > Changes in v2: > > - Fix help text to say XSA is created by Vivado [Neal] > > - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com > > --- > > boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ > > boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- > > 2 files changed, 48 insertions(+), 3 deletions(-) > > > > diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in > > index d3df1c06e7..94ef3dd111 100644 > > --- a/boot/xilinx-prebuilt/Config.in > > +++ b/boot/xilinx-prebuilt/Config.in > > @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL > > > > endchoice > > > > +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > + bool "download a prebuilt Versal XSA" > > + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL > > + help > > + The Xilinx Support Archive (XSA) provides custom Xilinx > > + firmware files generated by the AMD Vivado Design Suite. > > + > > + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File > > + > > +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > + > > +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION > > + string "URL of custom XSA" > > + help > > + This option allows to specify a URL pointing to an XSA source > > + file. This URL can use any protocol recognized by Buildroot, > > + like http://, ftp://, file:// or scp://. > > + > > + When pointing to a local XSA using file://, you may want to > > + use a make variable like $(TOPDIR) to reference the root of > > + the Buildroot tree. > > + > > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > + > > config BR2_TARGET_XILINX_PREBUILT_FAMILY > > string > > default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP > > diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > > index d09f4b13e2..c3000b7e45 100644 > > --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk > > +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > > @@ -5,9 +5,20 @@ > > ################################################################################ > > > > XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) > > + > > +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > > +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) > > +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) > > +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) > > +define XILINX_PREBUILT_EXTRACT_CMDS > > + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) > > +endef > > +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) > > XILINX_PREBUILT_LICENSE = MIT > > XILINX_PREBUILT_LICENSE_FILES = LICENSE > > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > + > > XILINX_PREBUILT_INSTALL_TARGET = NO > > XILINX_PREBUILT_INSTALL_IMAGES = YES > > > > @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) > > # We need the *.pdi glob, because the file has different names for the > > # different boards, but there is only one, and it has to be named > > # vpl_gen_fixed.pdi when installed. > > +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > > +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf > > +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf > > is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as > for Xilinx dev boards? I had not noticed that. I double-checked and the file does have '_' inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, but this does work as intended. Thanks for spotting that, Brandon > > > +XILINX_PREBUILT_PDI = $(@D)/*.pdi > > +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf > > +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf > ^^^^^^^^^ > > Best regards, > Romain > > > > +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi > > +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > > + > > define XILINX_PREBUILT_INSTALL > > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ > > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ > > $(BINARIES_DIR)/plm.elf > > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ > > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ > > $(BINARIES_DIR)/psmfw.elf > > - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ > > + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ > > $(BINARIES_DIR)/vpl_gen_fixed.pdi > > endef > > else # BR2_TARGET_XILINX_PREBUILT_VERSAL > > > > --- > > base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 > > change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 > > > > Best regards, > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 16:21 ` Brandon Maier via buildroot @ 2024-07-13 16:46 ` Romain Naour via buildroot 2024-07-13 19:52 ` Romain Naour via buildroot 2024-07-13 19:56 ` Brandon Maier via buildroot 0 siblings, 2 replies; 8+ messages in thread From: Romain Naour via buildroot @ 2024-07-13 16:46 UTC (permalink / raw) To: Brandon Maier, buildroot; +Cc: Yann E. MORIN, Neal Frager Hello Brandon, Le 13/07/2024 à 18:21, Brandon Maier a écrit : > On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: >> Hello Brandon, All, >> >> Le 01/07/2024 à 18:48, Brandon Maier via buildroot a écrit : >>> The xilinx-prebuilt package only supports development boards that Xilinx >>> has published firmware for. Custom designs based on the Xilinx platform >>> must generate their own firmware using the AMD Vivado Design Suite. >>> >>> Vivado produces an XSA file, which is a Zip file containing all the >>> firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to >>> download custom XSA files and extract their contents. >>> >>> Reviewed-by: Neal Frager <neal.frager@amd.com> >>> Signed-off-by: Brandon Maier <brandon.maier@collins.com> >>> --- >>> Changes in v3: >>> - Rebase on upstream changes to boot/xilinx-prebuilt >>> - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com >>> >>> Changes in v2: >>> - Fix help text to say XSA is created by Vivado [Neal] >>> - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com >>> --- >>> boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ >>> boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- >>> 2 files changed, 48 insertions(+), 3 deletions(-) >>> >>> diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in >>> index d3df1c06e7..94ef3dd111 100644 >>> --- a/boot/xilinx-prebuilt/Config.in >>> +++ b/boot/xilinx-prebuilt/Config.in >>> @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL >>> >>> endchoice >>> >>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> + bool "download a prebuilt Versal XSA" >>> + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL >>> + help >>> + The Xilinx Support Archive (XSA) provides custom Xilinx >>> + firmware files generated by the AMD Vivado Design Suite. >>> + >>> + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File >>> + >>> +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> + >>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION >>> + string "URL of custom XSA" >>> + help >>> + This option allows to specify a URL pointing to an XSA source >>> + file. This URL can use any protocol recognized by Buildroot, >>> + like http://, ftp://, file:// or scp://. >>> + >>> + When pointing to a local XSA using file://, you may want to >>> + use a make variable like $(TOPDIR) to reference the root of >>> + the Buildroot tree. >>> + >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> + >>> config BR2_TARGET_XILINX_PREBUILT_FAMILY >>> string >>> default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP >>> diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>> index d09f4b13e2..c3000b7e45 100644 >>> --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>> +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>> @@ -5,9 +5,20 @@ >>> ################################################################################ >>> >>> XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) >>> + >>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>> +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) >>> +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) >>> +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) >>> +define XILINX_PREBUILT_EXTRACT_CMDS >>> + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) >>> +endef >>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) >>> XILINX_PREBUILT_LICENSE = MIT >>> XILINX_PREBUILT_LICENSE_FILES = LICENSE >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> + >>> XILINX_PREBUILT_INSTALL_TARGET = NO >>> XILINX_PREBUILT_INSTALL_IMAGES = YES >>> >>> @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) >>> # We need the *.pdi glob, because the file has different names for the >>> # different boards, but there is only one, and it has to be named >>> # vpl_gen_fixed.pdi when installed. >>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>> +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf >>> +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf >> >> is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as >> for Xilinx dev boards? > > I had not noticed that. I double-checked and the file does have '_' > inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, > but this does work as intended. Ok, that is strange indeed. Maybe a comment about that in the .mk would be useful? Best regards, Romain > > Thanks for spotting that, > Brandon > >> >>> +XILINX_PREBUILT_PDI = $(@D)/*.pdi >>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf >>> +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf >> ^^^^^^^^^ >> >> Best regards, >> Romain >> >> >>> +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>> + >>> define XILINX_PREBUILT_INSTALL >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ >>> $(BINARIES_DIR)/plm.elf >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ >>> $(BINARIES_DIR)/psmfw.elf >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ >>> $(BINARIES_DIR)/vpl_gen_fixed.pdi >>> endef >>> else # BR2_TARGET_XILINX_PREBUILT_VERSAL >>> >>> --- >>> base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 >>> change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 >>> >>> Best regards, >> >> _______________________________________________ >> buildroot mailing list >> buildroot@buildroot.org >> https://lists.buildroot.org/mailman/listinfo/buildroot _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 16:46 ` Romain Naour via buildroot @ 2024-07-13 19:52 ` Romain Naour via buildroot 2024-07-13 19:56 ` Brandon Maier via buildroot 1 sibling, 0 replies; 8+ messages in thread From: Romain Naour via buildroot @ 2024-07-13 19:52 UTC (permalink / raw) To: Brandon Maier, buildroot; +Cc: Yann E. MORIN, Neal Frager Hello Brandon, Le 13/07/2024 à 18:46, Romain Naour a écrit : > Hello Brandon, > > Le 13/07/2024 à 18:21, Brandon Maier a écrit : >> On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: >>> Hello Brandon, All, >>> >>> Le 01/07/2024 à 18:48, Brandon Maier via buildroot a écrit : >>>> The xilinx-prebuilt package only supports development boards that Xilinx >>>> has published firmware for. Custom designs based on the Xilinx platform >>>> must generate their own firmware using the AMD Vivado Design Suite. >>>> >>>> Vivado produces an XSA file, which is a Zip file containing all the >>>> firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to >>>> download custom XSA files and extract their contents. >>>> >>>> Reviewed-by: Neal Frager <neal.frager@amd.com> >>>> Signed-off-by: Brandon Maier <brandon.maier@collins.com> >>>> --- >>>> Changes in v3: >>>> - Rebase on upstream changes to boot/xilinx-prebuilt >>>> - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com >>>> >>>> Changes in v2: >>>> - Fix help text to say XSA is created by Vivado [Neal] >>>> - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com >>>> --- >>>> boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ >>>> boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- >>>> 2 files changed, 48 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in >>>> index d3df1c06e7..94ef3dd111 100644 >>>> --- a/boot/xilinx-prebuilt/Config.in >>>> +++ b/boot/xilinx-prebuilt/Config.in >>>> @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL >>>> >>>> endchoice >>>> >>>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> + bool "download a prebuilt Versal XSA" >>>> + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL >>>> + help >>>> + The Xilinx Support Archive (XSA) provides custom Xilinx >>>> + firmware files generated by the AMD Vivado Design Suite. >>>> + >>>> + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File >>>> + >>>> +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> + >>>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION >>>> + string "URL of custom XSA" >>>> + help >>>> + This option allows to specify a URL pointing to an XSA source >>>> + file. This URL can use any protocol recognized by Buildroot, >>>> + like http://, ftp://, file:// or scp://. >>>> + >>>> + When pointing to a local XSA using file://, you may want to >>>> + use a make variable like $(TOPDIR) to reference the root of >>>> + the Buildroot tree. >>>> + >>>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> + >>>> config BR2_TARGET_XILINX_PREBUILT_FAMILY >>>> string >>>> default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP >>>> diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>>> index d09f4b13e2..c3000b7e45 100644 >>>> --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>>> +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk >>>> @@ -5,9 +5,20 @@ >>>> ################################################################################ >>>> >>>> XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) >>>> + >>>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>>> +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) >>>> +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) >>>> +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) >>>> +define XILINX_PREBUILT_EXTRACT_CMDS >>>> + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) >>>> +endef >>>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) >>>> XILINX_PREBUILT_LICENSE = MIT >>>> XILINX_PREBUILT_LICENSE_FILES = LICENSE >>>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> + >>>> XILINX_PREBUILT_INSTALL_TARGET = NO >>>> XILINX_PREBUILT_INSTALL_IMAGES = YES >>>> >>>> @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) >>>> # We need the *.pdi glob, because the file has different names for the >>>> # different boards, but there is only one, and it has to be named >>>> # vpl_gen_fixed.pdi when installed. >>>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>>> +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf >>>> +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf >>> >>> is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as >>> for Xilinx dev boards? >> >> I had not noticed that. I double-checked and the file does have '_' >> inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, >> but this does work as intended. > > Ok, that is strange indeed. > > Maybe a comment about that in the .mk would be useful? I added this comment, and applied to master, thanks. Best regards, Romain > > Best regards, > Romain > >> >> Thanks for spotting that, >> Brandon >> >>> >>>> +XILINX_PREBUILT_PDI = $(@D)/*.pdi >>>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf >>>> +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf >>> ^^^^^^^^^ >>> >>> Best regards, >>> Romain >>> >>> >>>> +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi >>>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA >>>> + >>>> define XILINX_PREBUILT_INSTALL >>>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ >>>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ >>>> $(BINARIES_DIR)/plm.elf >>>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ >>>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ >>>> $(BINARIES_DIR)/psmfw.elf >>>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ >>>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ >>>> $(BINARIES_DIR)/vpl_gen_fixed.pdi >>>> endef >>>> else # BR2_TARGET_XILINX_PREBUILT_VERSAL >>>> >>>> --- >>>> base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 >>>> change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 >>>> >>>> Best regards, >>> >>> _______________________________________________ >>> buildroot mailing list >>> buildroot@buildroot.org >>> https://lists.buildroot.org/mailman/listinfo/buildroot > _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 16:46 ` Romain Naour via buildroot 2024-07-13 19:52 ` Romain Naour via buildroot @ 2024-07-13 19:56 ` Brandon Maier via buildroot 2024-07-13 20:09 ` Romain Naour via buildroot 1 sibling, 1 reply; 8+ messages in thread From: Brandon Maier via buildroot @ 2024-07-13 19:56 UTC (permalink / raw) To: Romain Naour, buildroot; +Cc: Yann E. MORIN, Neal Frager On Sat Jul 13, 2024 at 4:46 PM UTC, Romain Naour via buildroot wrote: > Hello Brandon, > > Le 13/07/2024 à 18:21, Brandon Maier a écrit : > > On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: > >> Hello Brandon, All, > >> > >> Le 01/07/2024 à 18:48, Brandon Maier via buildroot a écrit : > >>> The xilinx-prebuilt package only supports development boards that Xilinx > >>> has published firmware for. Custom designs based on the Xilinx platform > >>> must generate their own firmware using the AMD Vivado Design Suite. > >>> > >>> Vivado produces an XSA file, which is a Zip file containing all the > >>> firmware needed by xilinx-prebuilt. We extend xilinx-prebuilt to > >>> download custom XSA files and extract their contents. > >>> > >>> Reviewed-by: Neal Frager <neal.frager@amd.com> > >>> Signed-off-by: Brandon Maier <brandon.maier@collins.com> > >>> --- > >>> Changes in v3: > >>> - Rebase on upstream changes to boot/xilinx-prebuilt > >>> - Link to v2: https://lore.kernel.org/r/20240626-versal-xsa-support-prebuilt-v2-1-724b00c4596d@collins.com > >>> > >>> Changes in v2: > >>> - Fix help text to say XSA is created by Vivado [Neal] > >>> - Link to v1: https://lore.kernel.org/r/20240625-versal-xsa-support-prebuilt-v1-1-f64a7a396a34@collins.com > >>> --- > >>> boot/xilinx-prebuilt/Config.in | 24 ++++++++++++++++++++++++ > >>> boot/xilinx-prebuilt/xilinx-prebuilt.mk | 27 ++++++++++++++++++++++++--- > >>> 2 files changed, 48 insertions(+), 3 deletions(-) > >>> > >>> diff --git a/boot/xilinx-prebuilt/Config.in b/boot/xilinx-prebuilt/Config.in > >>> index d3df1c06e7..94ef3dd111 100644 > >>> --- a/boot/xilinx-prebuilt/Config.in > >>> +++ b/boot/xilinx-prebuilt/Config.in > >>> @@ -31,6 +31,30 @@ config BR2_TARGET_XILINX_PREBUILT_VERSAL > >>> > >>> endchoice > >>> > >>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> + bool "download a prebuilt Versal XSA" > >>> + depends on BR2_TARGET_XILINX_PREBUILT_VERSAL > >>> + help > >>> + The Xilinx Support Archive (XSA) provides custom Xilinx > >>> + firmware files generated by the AMD Vivado Design Suite. > >>> + > >>> + https://docs.amd.com/r/en-US/ug1400-vitis-embedded/Creating-a-Hardware-Design-XSA-File > >>> + > >>> +if BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> + > >>> +config BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION > >>> + string "URL of custom XSA" > >>> + help > >>> + This option allows to specify a URL pointing to an XSA source > >>> + file. This URL can use any protocol recognized by Buildroot, > >>> + like http://, ftp://, file:// or scp://. > >>> + > >>> + When pointing to a local XSA using file://, you may want to > >>> + use a make variable like $(TOPDIR) to reference the root of > >>> + the Buildroot tree. > >>> + > >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> + > >>> config BR2_TARGET_XILINX_PREBUILT_FAMILY > >>> string > >>> default "zynqmp" if BR2_TARGET_XILINX_PREBUILT_ZYNQMP > >>> diff --git a/boot/xilinx-prebuilt/xilinx-prebuilt.mk b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > >>> index d09f4b13e2..c3000b7e45 100644 > >>> --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk > >>> +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk > >>> @@ -5,9 +5,20 @@ > >>> ################################################################################ > >>> > >>> XILINX_PREBUILT_VERSION = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSION)) > >>> + > >>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > >>> +XILINX_PREBUILT_FILE = $(call qstrip,$(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA_LOCATION)) > >>> +XILINX_PREBUILT_SITE = $(patsubst %/,%,$(dir $(XILINX_PREBUILT_FILE))) > >>> +XILINX_PREBUILT_SOURCE = $(notdir $(XILINX_PREBUILT_FILE)) > >>> +define XILINX_PREBUILT_EXTRACT_CMDS > >>> + $(UNZIP) $(XILINX_PREBUILT_DL_DIR)/$(XILINX_PREBUILT_SOURCE) -d $(@D) > >>> +endef > >>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> XILINX_PREBUILT_SITE = $(call github,Xilinx,soc-prebuilt-firmware,$(XILINX_PREBUILT_VERSION)) > >>> XILINX_PREBUILT_LICENSE = MIT > >>> XILINX_PREBUILT_LICENSE_FILES = LICENSE > >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> + > >>> XILINX_PREBUILT_INSTALL_TARGET = NO > >>> XILINX_PREBUILT_INSTALL_IMAGES = YES > >>> > >>> @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) > >>> # We need the *.pdi glob, because the file has different names for the > >>> # different boards, but there is only one, and it has to be named > >>> # vpl_gen_fixed.pdi when installed. > >>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) > >>> +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf > >>> +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf > >> > >> is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as > >> for Xilinx dev boards? > > > > I had not noticed that. I double-checked and the file does have '_' > > inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, > > but this does work as intended. > > Ok, that is strange indeed. > > Maybe a comment about that in the .mk would be useful? No problem, I sent a v4 to reword the comment block above to call out the psm_fw.elf Thanks, Brandon > > Best regards, > Romain > > > > > Thanks for spotting that, > > Brandon > > > >> > >>> +XILINX_PREBUILT_PDI = $(@D)/*.pdi > >>> +else # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> +XILINX_PREBUILT_PLM = $(XILINX_PREBUILT_BOARD_DIR)/plm.elf > >>> +XILINX_PREBUILT_PSMFW = $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf > >> ^^^^^^^^^ > >> > >> Best regards, > >> Romain > >> > >> > >>> +XILINX_PREBUILT_PDI = $(XILINX_PREBUILT_BOARD_DIR)/*.pdi > >>> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA > >>> + > >>> define XILINX_PREBUILT_INSTALL > >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/plm.elf \ > >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PLM) \ > >>> $(BINARIES_DIR)/plm.elf > >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/psmfw.elf \ > >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PSMFW) \ > >>> $(BINARIES_DIR)/psmfw.elf > >>> - $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/*.pdi \ > >>> + $(INSTALL) -D -m 0755 $(XILINX_PREBUILT_PDI) \ > >>> $(BINARIES_DIR)/vpl_gen_fixed.pdi > >>> endef > >>> else # BR2_TARGET_XILINX_PREBUILT_VERSAL > >>> > >>> --- > >>> base-commit: 55c8c2328e73725e9ab41c8dc566b09f49f2aad5 > >>> change-id: 20240621-versal-xsa-support-prebuilt-9c5aed5be687 > >>> > >>> Best regards, > >> > >> _______________________________________________ > >> buildroot mailing list > >> buildroot@buildroot.org > >> https://lists.buildroot.org/mailman/listinfo/buildroot > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 19:56 ` Brandon Maier via buildroot @ 2024-07-13 20:09 ` Romain Naour via buildroot 2024-07-13 23:58 ` Frager, Neal via buildroot 0 siblings, 1 reply; 8+ messages in thread From: Romain Naour via buildroot @ 2024-07-13 20:09 UTC (permalink / raw) To: Brandon Maier, buildroot; +Cc: Yann E. MORIN, Neal Frager Hello, Le 13/07/2024 à 21:56, Brandon Maier a écrit : > On Sat Jul 13, 2024 at 4:46 PM UTC, Romain Naour via buildroot wrote: >> Hello Brandon, >> >> Le 13/07/2024 à 18:21, Brandon Maier a écrit : >>> On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: >>>> Hello Brandon, All, [...] >>>>> @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) >>>>> # We need the *.pdi glob, because the file has different names for the >>>>> # different boards, but there is only one, and it has to be named >>>>> # vpl_gen_fixed.pdi when installed. >>>>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>>>> +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf >>>>> +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf >>>> >>>> is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as >>>> for Xilinx dev boards? >>> >>> I had not noticed that. I double-checked and the file does have '_' >>> inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, >>> but this does work as intended. >> >> Ok, that is strange indeed. >> >> Maybe a comment about that in the .mk would be useful? > > No problem, I sent a v4 to reword the comment block above to call out > the psm_fw.elf Thanks, I finally added a comment before merging the V3. https://gitlab.com/buildroot.org/buildroot/-/commit/1dcb311afe1043bf369099eec8b6fa6a06adc0fb Best regards, Romain > > Thanks, > Brandon > >> >> Best regards, >> Romain _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA 2024-07-13 20:09 ` Romain Naour via buildroot @ 2024-07-13 23:58 ` Frager, Neal via buildroot 0 siblings, 0 replies; 8+ messages in thread From: Frager, Neal via buildroot @ 2024-07-13 23:58 UTC (permalink / raw) To: Romain Naour, Brandon Maier, buildroot@buildroot.org; +Cc: Yann E. MORIN [-- Attachment #1.1: Type: text/plain, Size: 2122 bytes --] Hello Romain, Brandon, >> Hello Brandon, >> >> Le 13/07/2024 à 18:21, Brandon Maier a écrit : >>> On Sat Jul 13, 2024 at 4:08 PM UTC, Romain Naour via buildroot wrote: >>>> Hello Brandon, All, [...] >>>>> @@ -20,12 +31,22 @@ ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL),y) >>>>> # We need the *.pdi glob, because the file has different names for the >>>>> # different boards, but there is only one, and it has to be named >>>>> # vpl_gen_fixed.pdi when installed. >>>>> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_VERSAL_XSA),y) >>>>> +XILINX_PREBUILT_PLM = $(@D)/pdi_files/gen_files/plm.elf >>>>> +XILINX_PREBUILT_PSMFW = $(@D)/pdi_files/static_files/psm_fw.elf >>>> >>>> is '_' character intended in "psm_fw.elf" file name instead of "psmfw.elf" as >>>> for Xilinx dev boards? >>> >>> I had not noticed that. I double-checked and the file does have '_' >>> inside the XSA, but does not in the Xilinx prebuilt repo. It is strange, >>> but this does work as intended. >> >> Ok, that is strange indeed. >> >> Maybe a comment about that in the .mk would be useful? > > No problem, I sent a v4 to reword the comment block above to call out > the psm_fw.elf >Thanks, I finally added a comment before merging the V3. > https://gitlab.com/buildroot.org/buildroot/-/commit/1dcb311afe1043bf369099eec8b6fa6a06adc0fb > Best regards, > Romain I have been following your discussion. I agree that it is not clean that our Vivado team is adding an '_' in the psmfw.elf file name. This is strange because there is no '_' in the name when building with our embeddedsw github or with Vitis. For this reason, I am going to issue an internal change request to get rid of this '_' character in future Vivado releases. That said, could we change this patch to use a '*' instead of the '_'? This way it will work with current versions of Vivado that add the '_' character to the file name and future versions that will remove this character. Could one of you create a patch for this? > > Thanks, > Brandon > >> >> Best regards, >> Romain Best regards, Neal Frager AMD [-- Attachment #1.2: Type: text/html, Size: 4018 bytes --] [-- Attachment #2: Type: text/plain, Size: 150 bytes --] _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-07-13 23:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-01 16:48 [Buildroot] [PATCH v3] boot/xilinx-prebuilt: support custom boards using XSA Brandon Maier via buildroot 2024-07-13 16:08 ` Romain Naour via buildroot 2024-07-13 16:21 ` Brandon Maier via buildroot 2024-07-13 16:46 ` Romain Naour via buildroot 2024-07-13 19:52 ` Romain Naour via buildroot 2024-07-13 19:56 ` Brandon Maier via buildroot 2024-07-13 20:09 ` Romain Naour via buildroot 2024-07-13 23:58 ` Frager, Neal 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.