From d3dd29f4a1b5e033222a8f3ab971f64f8e24b217 Mon Sep 17 00:00:00 2001 From: Benjamin Szőke Date: Wed, 8 May 2024 12:01:12 +0200 Subject: firmware-imx: sync firmware-imx_8.23.bb with meta-imx-bsp layer --- recipes-bsp/firmware-imx/firmware-imx_8.23.bb | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb index a9e36b5e..900b9386 100644 --- a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb +++ b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb @@ -1,5 +1,5 @@ # Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017-2021 NXP +# Copyright 2017-2021,2023 NXP # Copyright (C) 2018 O.S. Systems Software LTDA. SUMMARY = "Freescale i.MX firmware" DESCRIPTION = "Freescale i.MX firmware such as for the VPU" @@ -16,8 +16,9 @@ do_install() { # SDMA Firmware section install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma - rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin - rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin + # Comment these lines to use sdma-imx6q/7d.bin from here and not linux-firmware + #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin + #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin # EASRC Firmware section install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc @@ -53,6 +54,11 @@ do_install() { # as some of other files are provided by packages from other recipes. install -d ${D}${nonarch_base_libdir}/firmware/vpu install -m 0644 ${S}/firmware/vpu/vpu_fw_imx*.bin ${D}${nonarch_base_libdir}/firmware/vpu + # Update i.MX8 vpu firmware path to align with kernel6.5+ + install -d ${D}${nonarch_base_libdir}/firmware/amphion/vpu/ + mv ${D}${nonarch_base_libdir}/firmware/vpu/vpu_fw_imx8* ${D}${nonarch_base_libdir}/firmware/amphion/vpu/ + # Install i.MX 95 VPU firmware + install -m 0644 ${S}/firmware/vpu/wave633c_codec_fw.bin ${D}${nonarch_base_libdir}/firmware } # @@ -88,6 +94,7 @@ python populate_packages:prepend() { os.chdir(cwd) + easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', output_pattern='firmware-imx-easrc-%s', @@ -144,7 +151,7 @@ PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xu # is empty. # Therefore, we opt-out from producing -dev package here, since also for firmware # files it makes no sense. -PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi" +PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi ${PN}-vpu-imx8 ${PN}-vpu-imx95" FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" FILES:${PN}-hdmi = " \ @@ -152,5 +159,7 @@ FILES:${PN}-hdmi = " \ ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ ${nonarch_base_libdir}/firmware/dpfw.bin \ " +FILES:${PN}-vpu-imx8 = "${nonarch_base_libdir}/firmware/amphion/vpu/*" +FILES:${PN}-vpu-imx95 = "${nonarch_base_libdir}/firmware/wave633c_codec_fw.bin" COMPATIBLE_MACHINE = "(imx-generic-bsp)" -- cgit v1.2.3-54-g00ecf From 9a5222079674f7b1fae890bcdf2f5d5e39c2cc3a Mon Sep 17 00:00:00 2001 From: Benjamin Szőke Date: Sun, 12 May 2024 18:37:22 +0200 Subject: firmware-imx: Use vpu-amphion and vpu-wave suffix. --- recipes-bsp/firmware-imx/firmware-imx_8.23.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb index 900b9386..1943f205 100644 --- a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb +++ b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb @@ -151,7 +151,7 @@ PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xu # is empty. # Therefore, we opt-out from producing -dev package here, since also for firmware # files it makes no sense. -PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi ${PN}-vpu-imx8 ${PN}-vpu-imx95" +PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi ${PN}-vpu-amphion ${PN}-vpu-wave" FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" FILES:${PN}-hdmi = " \ @@ -159,7 +159,7 @@ FILES:${PN}-hdmi = " \ ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ ${nonarch_base_libdir}/firmware/dpfw.bin \ " -FILES:${PN}-vpu-imx8 = "${nonarch_base_libdir}/firmware/amphion/vpu/*" -FILES:${PN}-vpu-imx95 = "${nonarch_base_libdir}/firmware/wave633c_codec_fw.bin" +FILES:${PN}-vpu-amphion = "${nonarch_base_libdir}/firmware/amphion/vpu/*" +FILES:${PN}-vpu-wave = "${nonarch_base_libdir}/firmware/wave633c_codec_fw.bin" COMPATIBLE_MACHINE = "(imx-generic-bsp)" -- cgit v1.2.3-54-g00ecf From 46a800cccd23243b94c3a0b256b2f0d5201abd58 Mon Sep 17 00:00:00 2001 From: Benjamin Szőke Date: Sun, 12 May 2024 18:55:41 +0200 Subject: firmware-imx: introduce IMX_USE_LINUX_FIRMWARE_SDMA to configure sdma firmware sources --- recipes-bsp/firmware-imx/firmware-imx_8.23.bb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb index 1943f205..0c935b92 100644 --- a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb +++ b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb @@ -10,15 +10,21 @@ PE = "1" inherit allarch +IMX_USE_LINUX_FIRMWARE_SDMA ?= "1" + do_install() { install -d ${D}${nonarch_base_libdir}/firmware/imx # SDMA Firmware section install -d ${D}${nonarch_base_libdir}/firmware/imx/sdma install -m 0644 ${S}/firmware/sdma/* ${D}${nonarch_base_libdir}/firmware/imx/sdma - # Comment these lines to use sdma-imx6q/7d.bin from here and not linux-firmware - #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin - #rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin + # Define IMX_USE_LINUX_FIRMWARE_SDMA = "0" in layer.conf, machine.conf, local.conf + # or in .bbappend to use sdma-imx6q/7d.bin from here and not linux-firmware + if [ ${IMX_USE_LINUX_FIRMWARE_SDMA} -gt 0 ] + then + rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin + rm -f ${D}${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin + fi # EASRC Firmware section install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc -- cgit v1.2.3-54-g00ecf