boot/uboot: copy IMX firmware files to uboot package dir

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>
[yann.morin.1998@free.fr: simplify hook]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Heiko Thiery 2021-09-12 07:09:06 +02:00 committed by Yann E. MORIN
parent 0a8ad41f3b
commit af99e7a5f3
2 changed files with 28 additions and 0 deletions

View File

@ -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

View File

@ -180,6 +180,23 @@ 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
UBOOT_IMX_FW_FILES = \
$(if $(BR2_PACKAGE_FIRMWARE_IMX_NEEDS_HDMI_FW),signed_hdmi_imx8m.bin) \
$(if $(BR2_PACKAGE_FIRMWARE_IMX_LPDDR4),lpddr4*.bin) \
$(if $(BR2_PACKAGE_FIRMWARE_IMX_DDR4),ddr4*.bin)
define UBOOT_COPY_IMX_FW_FILES
$(foreach fw,$(UBOOT_IMX_FW_FILES),\
cp $(BINARIES_DIR)/$(fw) $(@D)/
)
endef
UBOOT_PRE_BUILD_HOOKS += UBOOT_COPY_IMX_DDR_FIRMWARE
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)
UBOOT_DEPENDENCIES += host-dtc
endif