From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Heiko Thiery <heiko.thiery@gmail.com>
Cc: Gary Bisson <bisson.gary@gmail.com>,
Stephane Viau <stephane.viau@oss.nxp.com>,
Refik Tuzakli <tuzakli.refik@gmail.com>,
Michael Walle <michael@walle.cc>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
buildroot@buildroot.org, Fabio Estevam <festevam@gmail.com>,
Xavier Roumegue <xroumegue@gmail.com>
Subject: Re: [Buildroot] [PATCH v3] boot/uboot: copy IMX firmware files to uboot package dir
Date: Sun, 12 Sep 2021 10:56:28 +0200 [thread overview]
Message-ID: <20210912085628.GC1053080@scaer> (raw)
In-Reply-To: <20210912050905.21355-1-heiko.thiery@gmail.com>
Heiko, All,
On 2021-09-12 07:09 +0200, Heiko Thiery spake thusly:
> The mainline U-Boot can create an i.MX specific firmware image (e.g. flash.bin).
> For this the i.MX firmware files (DDR, HDMI) must be in the toplevel directory.
>
> Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
> Reviewed-by: Fabio Estevam <festevam@gmail.com>
> ---
>
> v3:
> - included the comments from Fabio
> - add Fabio's SOB
>
> v2:
> - small changes in commit messages (thanks Stephane)
> - use "i.MX 8M" for consistency (thanks Stephane)
>
> boot/uboot/Config.in | 11 +++++++++++
> boot/uboot/uboot.mk | 27 +++++++++++++++++++++++++++
> 2 files changed, 38 insertions(+)
>
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 0854fb13cc..8cc40cd9c5 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -239,6 +239,17 @@ 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 i.MX8 platforms (such as i.MX8 M, i.MX 8M Mini, i.MX 8M Nano)
> + encapsulate NXP specific firmware (DDR, HDMI) inside U-Boot.
> + This option makes sure that the i.MX firmwares are copied into
> + the U-Boot source directory.
> +
> 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..a446830c6f 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
>
> +# Mainline U-Boot versions can create the i.MX specific boot images
> +# and need 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
I've changed that to a simpler hook:
185 ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y)
186 UBOOT_DEPENDENCIES += firmware-imx
187 UBOOT_IMX_FW_FILES = \
188 $(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \
189 $(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \
190 $(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin)
191
192 define UBOOT_COPY_IMX_FW_FILES
193 $(foreach fw,$(UBOOT_IMX_FW_FILES),\
194 cp $(BINARIES_DIR)/$(fw) $(@D)/
195 )
196 endef
197 UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR_FIRMWARE
198 endif
Applied to master with this change, thanks.
Regards,
Yann E. MORIN.
> ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
> UBOOT_DEPENDENCIES += host-dtc
> endif
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
prev parent reply other threads:[~2021-09-12 8:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-12 5:09 [Buildroot] [PATCH v3] boot/uboot: copy IMX firmware files to uboot package dir Heiko Thiery
2021-09-12 8:56 ` Yann E. MORIN [this message]
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=20210912085628.GC1053080@scaer \
--to=yann.morin.1998@free.fr \
--cc=bisson.gary@gmail.com \
--cc=buildroot@buildroot.org \
--cc=festevam@gmail.com \
--cc=heiko.thiery@gmail.com \
--cc=michael@walle.cc \
--cc=stephane.viau@oss.nxp.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tuzakli.refik@gmail.com \
--cc=xroumegue@gmail.com \
/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.