Message ID | 20210910140925.28138-4-heiko.thiery@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | Add support to build imx8 images using mainline uboot | expand |
On Fri, Sep 10, 2021 at 11:10 AM Heiko Thiery <heiko.thiery@gmail.com> wrote: > > If the U-Boot image is to be built with binman and one of the i.MX > firmware files (ddr, hdmi) is used, the files are expected in the > toplevel directory. I would remove binman from the description as this is not binman related. > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> > +config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE > + bool "U-Boot needs firmware-imx" > + depends on BR2_PACKAGE_FIRMWARE_IMX > + depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ > + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW > + help > + Some IMX platforms (such as iMX8m, iMX8mq, iIMX8mm, iIMX8mn) > + encapsulate NXP specific firmware (DDR, HDMI) inside U-Boot. > + This option makes sure the imx firmware gets built prior to The imx firmwares are binaries, so they are not built. Please adjust it to: "This option makes sure that the imx firmwares are copied into the U-Boot source directory". > + U-Boot and copies the files from the buildroot binary dir > + into the U-Boot source dir. > + > menu "U-Boot binary format" > > config BR2_TARGET_UBOOT_FORMAT_AIS > diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk > index 1a840d9cc1..cf8d6b1f39 100644 > --- a/boot/uboot/uboot.mk > +++ b/boot/uboot/uboot.mk > @@ -180,6 +180,33 @@ UBOOT_DEPENDENCIES += opensbi > UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin > endif > > +# New U-Boot versions can create the IMX specific boot images s/New/Mainline > +# and needs the some NXP firmware blobs. s/needs the some/need some Reviewed-by: Fabio Estevam <festevam@gmail.com>
On 10/09/2021 16:09, Heiko Thiery wrote: > If the U-Boot image is to be built with binman and one of the i.MX > firmware files (ddr, hdmi) is used, the files are expected in the > toplevel directory. > > Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> I was too lazy to update with all of Fabio's comments :-) so I marked as Changes Requested. Regards, Arnout > --- > > v2: > - small changes in commit messages (thanks Stephane) > - use "i.MX 8M" for consistency (thanks Stephane) > > boot/uboot/Config.in | 12 ++++++++++++ > boot/uboot/uboot.mk | 27 +++++++++++++++++++++++++++ > 2 files changed, 39 insertions(+) > > diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in > index 0854fb13cc..da518db118 100644 > --- a/boot/uboot/Config.in > +++ b/boot/uboot/Config.in > @@ -239,6 +239,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSBI > and that the OpenSBI variable pointing to OpenSBI binary, > is passed during the Buildroot build. > > +config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE > + bool "U-Boot needs firmware-imx" > + depends on BR2_PACKAGE_FIRMWARE_IMX > + depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ > + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW > + help > + Some IMX platforms (such as iMX8m, iMX8mq, iIMX8mm, iIMX8mn) > + encapsulate NXP specific firmware (DDR, HDMI) inside U-Boot. > + This option makes sure the imx firmware gets built prior to > + U-Boot and copies the files from the buildroot binary dir > + into the U-Boot source dir. > + > menu "U-Boot binary format" > > config BR2_TARGET_UBOOT_FORMAT_AIS > diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk > index 1a840d9cc1..cf8d6b1f39 100644 > --- a/boot/uboot/uboot.mk > +++ b/boot/uboot/uboot.mk > @@ -180,6 +180,33 @@ UBOOT_DEPENDENCIES += opensbi > UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin > endif > > +# New U-Boot versions can create the IMX specific boot images > +# and needs the some NXP firmware blobs. > +ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y) > +UBOOT_DEPENDENCIES += firmware-imx > + > +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),y) > +define UBOOT_COPY_IMX_DDR_FIRMWARE > + cp $(BINARIES_DIR)/signed_hdmi_imx8m.bin $(@D)/ > +endef > +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR_FIRMWARE > +endif > + > +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y) > +define UBOOT_COPY_IMX_LPDDR4_FIRMWARE > + cp $(BINARIES_DIR)/lpddr4*.bin $(@D)/ > +endef > +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_LPDDR4_FIRMWARE > +endif > + > +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR4),y) > +define UBOOT_COPY_IMX_DDR4_FIRMWARE > + cp $(BINARIES_DIR)/ddr4*.bin $(@D)/ > +endef > +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR4_FIRMWARE > +endif > +endif > + > ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) > UBOOT_DEPENDENCIES += host-dtc > endif >
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in index 0854fb13cc..da518db118 100644 --- a/boot/uboot/Config.in +++ b/boot/uboot/Config.in @@ -239,6 +239,18 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSBI and that the OpenSBI variable pointing to OpenSBI binary, is passed during the Buildroot build. +config BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE + bool "U-Boot needs firmware-imx" + depends on BR2_PACKAGE_FIRMWARE_IMX + depends on BR2_PACKAGE_FIRMWARE_IMX_NEEDS_DDR_FW || \ + BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW + help + Some IMX platforms (such as iMX8m, iMX8mq, iIMX8mm, iIMX8mn) + encapsulate NXP specific firmware (DDR, HDMI) inside U-Boot. + This option makes sure the imx firmware gets built prior to + U-Boot and copies the files from the buildroot binary dir + into the U-Boot source dir. + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 1a840d9cc1..cf8d6b1f39 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -180,6 +180,33 @@ UBOOT_DEPENDENCIES += opensbi UBOOT_MAKE_OPTS += OPENSBI=$(BINARIES_DIR)/fw_dynamic.bin endif +# New U-Boot versions can create the IMX specific boot images +# and needs the some NXP firmware blobs. +ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y) +UBOOT_DEPENDENCIES += firmware-imx + +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),y) +define UBOOT_COPY_IMX_DDR_FIRMWARE + cp $(BINARIES_DIR)/signed_hdmi_imx8m.bin $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR_FIRMWARE +endif + +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),y) +define UBOOT_COPY_IMX_LPDDR4_FIRMWARE + cp $(BINARIES_DIR)/lpddr4*.bin $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_LPDDR4_FIRMWARE +endif + +ifeq ($(BR2_PACKAGE_FIRMWARE_IMX_DDR4),y) +define UBOOT_COPY_IMX_DDR4_FIRMWARE + cp $(BINARIES_DIR)/ddr4*.bin $(@D)/ +endef +UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR4_FIRMWARE +endif +endif + ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc endif
If the U-Boot image is to be built with binman and one of the i.MX firmware files (ddr, hdmi) is used, the files are expected in the toplevel directory. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> --- v2: - small changes in commit messages (thanks Stephane) - use "i.MX 8M" for consistency (thanks Stephane) boot/uboot/Config.in | 12 ++++++++++++ boot/uboot/uboot.mk | 27 +++++++++++++++++++++++++++ 2 files changed, 39 insertions(+)