[Buildroot] [PATCH v4 2/8] boot/uboot: Add option to install fw files list to uboot build directory

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sat Jan 23 22:32:59 UTC 2021


Hello,

On Wed, 25 Nov 2020 19:30:11 +0100
Xavier Roumegue <xroumegue at gmail.com> wrote:

> This copies a list of fw files, which have to be installed by others
> packages to BINARIES_DIR to uboot build directory.
> Some platforms, such as imx8, require firmware files located in the
> build directory to generate a bootable image.
> 
> Signed-off-by: Xavier Roumegue <xroumegue at gmail.com>
> 
> ---
> Changes v3 -> v4:
>     - Fix indentation issue (detected by Stephane Viau)
> ---
>  boot/uboot/Config.in | 15 +++++++++++++++
>  boot/uboot/uboot.mk  |  9 +++++++++
>  2 files changed, 24 insertions(+)
> 
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index e4a0f48deb..f2faff826b 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -229,6 +229,21 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF
>  
>  endchoice
>  
> +config BR2_TARGET_UBOOT_NEEDS_FW
> +	bool "U-Boot needs FW files"
> +	help
> +	  Some platforms (such as iMX8) requires subsystem firmware
> +	  files encapsulated within the u-boot payload such as this
> +	  configure properly the memory subystem or those later
> +	  require authentication from boot ROM.
> +
> +config BR2_TARGET_UBOOT_FW_FILES
> +	string "Firmware files list"
> +	depends on BR2_TARGET_UBOOT_NEEDS_FW
> +	help
> +	  Specify the list of files to be copied in the u-boot
> +	  build directory from the binary folder.

These options don't work, because the firmware files would typically be
provided by another package... and without adding a dependency from
U-Boot on this other package, it won't work. I know you've added this
dependency on the other BR2_TARGET_UBOOT_FORMAT_IMX_FIT option, but I
think this is wrong, as flash.bin is not necessarily IMX related.

So instead, I would prefer a patch that adds a simple option:

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

and in the .mk file:

ifeq ($(BR2_TARGET_UBOOT_NEEDS_IMX_FIRMWARE),y)
UBOOT_DEPENDENCIES += firmware-imx
define UBOOT_COPY_IMX_DDR_FIRMWARE
	cp $(BINARIES_DIR)/... $(@D)/
endef
UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR_FIRMWARE
endif

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list