Message ID | 20240607094705.1962913-2-neal.frager@amd.com |
---|---|
State | Deferred |
Headers | show |
Series | [v12,1/3] boot/zynqmp-firmware: new boot firmware | expand |
Hi Neal, On Fri, Jun 07, 2024 at 10:47:04AM +0100, Neal Frager via buildroot wrote: > The new BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE option will enable u-boot to > use the zynqmp-firmware package for building a pmufw.elf that gets included in > the generated boot.bin. > > If the BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE 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> > --- > V1->V2: > - patch is now backwards compatible for users already using the > BR2_TARGET_UBOOT_ZYNQMP_PMUFW config for downloading a prebuilt pmufw > V2->V3: > - no changes > V3->V4: > - BR2_TARGET_UBOOT_ZYNQMP_PMUFW removed when > BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE selected > V4->V12: > - no changes > --- > boot/uboot/Config.in | 19 +++++++++++++++++-- > boot/uboot/uboot.mk | 5 +++++ > 2 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in > index d0901edc9d..f0c26af25c 100644 > --- a/boot/uboot/Config.in > +++ b/boot/uboot/Config.in > @@ -512,11 +512,26 @@ config BR2_TARGET_UBOOT_ZYNQMP > > if BR2_TARGET_UBOOT_ZYNQMP > > +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE > + bool "Build zynqmp PMU firmware from source" > + select BR2_TARGET_ZYNQMP_FIRMWARE > + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG > + help > + This option instructs u-boot to build the zynqmp pmufw using > + the zynqmp-firmware package. u-boot will then include this > + pmufw.elf in the generated boot.bin. > + > + If this option is selected, the BR2_TARGET_UBOOT_ZYNQMP_PMUFW > + prebuilt option will be ignored. > + > + This feature requires U-Boot >= 2018.07. > + > config BR2_TARGET_UBOOT_ZYNQMP_PMUFW > - string "PMU firmware location" > + string "Pre-built zynqmp PMU firmware location" > depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG > + depends on !BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE > help > - Location of a PMU firmware binary. > + Location of a pre-built PMU firmware binary. > > If not empty, instructs the U-Boot build process to generate > a boot.bin (to be loaded by the ZynqMP boot ROM) containing > diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk > index b9f165f041..18c02a4430 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_SOURCE),y) > +UBOOT_DEPENDENCIES += zynqmp-firmware > +UBOOT_ZYNQMP_PMUFW = $(BINARIES_DIR)/pmufw.elf > +else > UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW)) > +endif #BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE > > ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),) > UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW) > -- > 2.25.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot Looks good, given Yann's fixups Reviewed-by: Brandon Maier <brandon.maier@collins.com> Thanks, Brandon Maier
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index d0901edc9d..f0c26af25c 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -512,11 +512,26 @@ config BR2_TARGET_UBOOT_ZYNQMP if BR2_TARGET_UBOOT_ZYNQMP +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE + bool "Build zynqmp PMU firmware from source" + select BR2_TARGET_ZYNQMP_FIRMWARE + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + This option instructs u-boot to build the zynqmp pmufw using + the zynqmp-firmware package. u-boot will then include this + pmufw.elf in the generated boot.bin. + + If this option is selected, the BR2_TARGET_UBOOT_ZYNQMP_PMUFW + prebuilt option will be ignored. + + This feature requires U-Boot >= 2018.07. + config BR2_TARGET_UBOOT_ZYNQMP_PMUFW - string "PMU firmware location" + string "Pre-built zynqmp PMU firmware location" depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + depends on !BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE help - Location of a PMU firmware binary. + Location of a pre-built PMU firmware binary. If not empty, instructs the U-Boot build process to generate a boot.bin (to be loaded by the ZynqMP boot ROM) containing diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index b9f165f041..18c02a4430 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_SOURCE),y) +UBOOT_DEPENDENCIES += zynqmp-firmware +UBOOT_ZYNQMP_PMUFW = $(BINARIES_DIR)/pmufw.elf +else UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW)) +endif #BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),) UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW)
The new BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE option will enable u-boot to use the zynqmp-firmware package for building a pmufw.elf that gets included in the generated boot.bin. If the BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE 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> --- V1->V2: - patch is now backwards compatible for users already using the BR2_TARGET_UBOOT_ZYNQMP_PMUFW config for downloading a prebuilt pmufw V2->V3: - no changes V3->V4: - BR2_TARGET_UBOOT_ZYNQMP_PMUFW removed when BR2_TARGET_UBOOT_ZYNQMP_PMUFW_SOURCE selected V4->V12: - no changes --- boot/uboot/Config.in | 19 +++++++++++++++++-- boot/uboot/uboot.mk | 5 +++++ 2 files changed, 22 insertions(+), 2 deletions(-)