From: Brandon Maier via buildroot <buildroot@buildroot.org>
To: "Frager, Neal via buildroot" <buildroot@buildroot.org>
Cc: "luca.ceresoli@bootlin.com" <luca.ceresoli@bootlin.com>,
"Simek, Michal" <michal.simek@amd.com>,
"yann.morin.1998@free.fr" <yann.morin.1998@free.fr>,
"thomas.petazzoni@bootlin.com" <thomas.petazzoni@bootlin.com>,
"Erkiaga Elorza, Ibai" <ibai.erkiaga-elorza@amd.com>
Subject: Re: [Buildroot] [PATCH v1 2/5] boot/uboot.mk: new zynqmp pmufw prebuilt option
Date: Wed, 12 Jun 2024 21:51:30 +0000 [thread overview]
Message-ID: <ZmoYYkE_ucIikzCg@bspbox.kirk> (raw)
In-Reply-To: <CH2PR12MB50040069C1F8476DBD4FFAF2F0C02@CH2PR12MB5004.namprd12.prod.outlook.com>
Hi Neal,
On 2024.06.12 19:28, Frager, Neal via buildroot wrote:
> Hi Brandon,
>
> > The new BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT option will enable u-boot to
> > use the xilinx-prebuilt package for downloading a pmufw.elf that gets included
> > in the generated boot.bin.
> >
> > If the BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT option is enabled, then the
> > BR2_TARGET_UBOOT_ZYNQMP_PMUFW config for downloading a prebuilt pmufw will
> > be ignored.
> >
> > Signed-off-by: Neal Frager <neal.frager@amd.com>
> > ---
> > boot/uboot/Config.in | 16 ++++++++++++++++
> > boot/uboot/uboot.mk | 5 +++++
> > 2 files changed, 21 insertions(+)
> >
> > diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> > index d0901edc9d..9d275e8611 100644
> > --- a/boot/uboot/Config.in
> > +++ b/boot/uboot/Config.in
> > @@ -512,9 +512,25 @@ config BR2_TARGET_UBOOT_ZYNQMP
> >
> > if BR2_TARGET_UBOOT_ZYNQMP
> >
> > +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT
> > + bool "xilinx-prebuilt pmufw.elf"
> > + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
> > + depends on BR2_TARGET_XILINX_PREBUILT
>
> > Since this is a ZynqMP only option. Shouldn't this depend on the
> > Xilinx-prebuilt ZynqMP choice?
>
> > depends on BR2_TARGET_XILINX_PREBUILT_ZYNQMP
>
> The kria boards also use this u-boot feature as they are part of the zynqmp
> family. I suppose we could add this?
>
> depends on BR2_TARGET_XILINX_PREBUILT_ZYNQMP | BR2_TARGET_XILINX_PREBUILT_KRIA
Ah, I assumed this was ZynqMP specific due to the config symbol name. If
it applies to multiple product lines then I don't think it's worth
bothering.
>
> > + help
> > + Use xilinx-prebuilt boot package for downloading prebuilt zynqmp
> > + pmufw.elf from https://github.com/Xilinx/soc-prebuilt-firmware repo.
> > +
> > + U-Boot build process will generate a boot.bin (to be loaded by the
> > + ZynqMP boot ROM) containing both the U-Boot SPL and the PMU firmware
> > + in the Xilinx-specific boot format.
> > +
> > + If this option is selected, the BR2_TARGET_UBOOT_ZYNQMP_PMUFW
> > + prebuilt option will be ignored.
> > +
> > config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
> > string "PMU firmware location"
> > depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
> > + depends on !BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT
> > help
> > Location of a PMU firmware binary.
> >
> > diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> > index b9f165f041..5d12c6283b 100644
> > --- a/boot/uboot/uboot.mk
> > +++ b/boot/uboot/uboot.mk
> > @@ -436,7 +436,12 @@ endef
> >
> > ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y)
> >
> > +ifeq ($(BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT),y)
> > +UBOOT_DEPENDENCIES += xilinx-prebuilt
> > +UBOOT_ZYNQMP_PMUFW = $(BINARIES_DIR)/pmufw.elf
> > +else
> > UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW))
> > +endif #BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT
> >
> > ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),)
>
> > The `endif` should be moved to cover this ifneq statement. That way when
> > xilinx-prebuilt is enabled it doesn't do the "://" and readlink checks.
>
> Does this really matter? If BR2_TARGET_UBOOT_ZYNQMP_PMUFW_PREBUILT is set,
> then UBOOT_ZYNQMP_PMUFW = $(BINARIES_DIR)/pmufw.elf, so there will never be
> a :// in UBOOT_ZYNQMP_PMUFW and the UBOOT_EXTRA_DOWNLOADS will not get set.
My intent is to make the logic easier to understand, by splitting the
custom PMUFW logic from the xilinx-prebuilt logic.
> The problem with moving the endif after the ifneq is that we still need the
> UBOOT_ZYNQMP_PMUFW_PATH to be set for the rest of the functionality to work.
>
> UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW))
>
> To avoid duplicating this line of code, keeping the endif before the ifneq
> seemed to be the cleaner solution to me.
>
The readlink is not needed for xilinx-prebuilt as $(BINARIES_DIR) is
always an absolute path. Instead you could assign the
`$(BINARIES_DIR)/pmufw.elf` directly to `UBOOT_ZYNQMP_PMUFW_PATH`.
But the above is a nit pick, so I'm good with applying.
Reviewed-by: Brandon Maier <brandon.maier@collins.com>
> > UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW)
> > --
> > 2.25.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot@buildroot.org
> > https://lists.buildroot.org/mailman/listinfo/buildroot
>
> Best regards,
> Neal Frager
> AMD
> _______________________________________________
> 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
next prev parent reply other threads:[~2024-06-12 21:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-12 7:55 [Buildroot] [PATCH v1 1/5] boot/xilinx-prebuilt: new boot package Neal Frager via buildroot
2024-06-12 7:55 ` [Buildroot] [PATCH v1 2/5] boot/uboot.mk: new zynqmp pmufw prebuilt option Neal Frager via buildroot
2024-06-12 19:02 ` Brandon Maier via buildroot
2024-06-12 19:28 ` Frager, Neal via buildroot
2024-06-12 21:51 ` Brandon Maier via buildroot [this message]
2024-06-12 7:55 ` [Buildroot] [PATCH v1 3/5] configs/zynqmp_*: migrate to xilinx-prebuilt Neal Frager via buildroot
2024-06-12 19:04 ` Brandon Maier via buildroot
2024-06-12 7:55 ` [Buildroot] [PATCH v1 4/5] configs/versal_vck190_defconfig: " Neal Frager via buildroot
2024-06-12 19:05 ` Brandon Maier via buildroot
2024-06-12 7:55 ` [Buildroot] [PATCH v1 5/5] package/versal-firmware: remove package Neal Frager via buildroot
2024-06-12 19:05 ` Brandon Maier via buildroot
2024-06-12 18:52 ` [Buildroot] [PATCH v1 1/5] boot/xilinx-prebuilt: new boot package Brandon Maier via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZmoYYkE_ucIikzCg@bspbox.kirk \
--to=buildroot@buildroot.org \
--cc=brandon.maier@collins.com \
--cc=ibai.erkiaga-elorza@amd.com \
--cc=luca.ceresoli@bootlin.com \
--cc=michal.simek@amd.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.