Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

      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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox