[Buildroot] [PATCH v2] package/freescale-imx/firmware-imx: fix the VPU firmware location

Fabio Estevam festevam at gmail.com
Wed Jan 13 22:30:39 UTC 2021


The mainline kernel searches the coda VPU firmware inside the following
locations [1]:

/lib/firmware/
/lib/firmware/vpu/

Currently Buildroot installs the coda firmware into /lib/firmware/imx/vpu,
which is not a valid location.

Fix it by installing the coda firmwares into /lib/firmware/vpu/ which
is a valid path for both mainline and NXP vendor kernels. Also create a
symlink to /lib/firmware/ so that mainline kernels do not need to wait
more than 60 seconds to search again inside /lib/firmware/vpu/.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8af7779f3cbc1f6720d15f00abc797493710d1ab

Reported-by: Romain Naour <romain.naour at gmail.com>
Suggested-by: Romain Naour <romain.naour at gmail.com>
Signed-off-by: Fabio Estevam <festevam at gmail.com>
---
Changes since v1:
- Create symlinks to /lib/firmware to speed up mainline kernels to
found the VPU firmware.

 package/freescale-imx/firmware-imx/firmware-imx.mk | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/package/freescale-imx/firmware-imx/firmware-imx.mk b/package/freescale-imx/firmware-imx/firmware-imx.mk
index 7d1f42f1d87b..6fba4e8a0cb3 100644
--- a/package/freescale-imx/firmware-imx/firmware-imx.mk
+++ b/package/freescale-imx/firmware-imx/firmware-imx.mk
@@ -116,9 +116,11 @@ endif
 FIRMWARE_IMX_VPU_FW_NAME = $(call qstrip,$(BR2_PACKAGE_FIRMWARE_IMX_VPU_FW_NAME))
 ifneq ($(FIRMWARE_IMX_VPU_FW_NAME),)
 define FIRMWARE_IMX_INSTALL_TARGET_VPU_FW
-	mkdir -p $(TARGET_DIR)/lib/firmware/imx/vpu
-	cp $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin \
-		$(TARGET_DIR)/lib/firmware/imx/vpu/
+	mkdir -p $(TARGET_DIR)/lib/firmware/vpu
+	for i in $$(find $(@D)/firmware/vpu/vpu_fw_$(FIRMWARE_IMX_VPU_FW_NAME)*.bin); do \
+		cp $$i $(TARGET_DIR)/lib/firmware/vpu/ ; \
+		ln -sf vpu/$$(basename $$i) $(TARGET_DIR)/lib/firmware/$$(basename $$i) ; \
+	done
 endef
 endif
 
-- 
2.17.1



More information about the buildroot mailing list