From 6cd0eee4c5ef2a8d1558f2576f455f066ad2d721 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 3 May 2021 22:05:02 +0200 Subject: firmware-imx: update to 8.10.1 Related-to: ELB-3957 Signed-off-by: Max Krummenacher --- .../firmware-imx/firmware-imx-8.10.1.inc | 17 +++ .../recipes-bsp/firmware-imx/firmware-imx-8.10.inc | 17 --- .../firmware-imx/firmware-imx-8_8.10.1.bb | 23 ++++ .../firmware-imx/firmware-imx-8_8.10.bb | 23 ---- .../firmware-imx/firmware-imx-8m_8.10.1.bb | 24 ++++ .../firmware-imx/firmware-imx-8m_8.10.bb | 24 ---- .../firmware-imx/firmware-imx_8.10.1.bb | 129 +++++++++++++++++++++ .../recipes-bsp/firmware-imx/firmware-imx_8.10.bb | 127 -------------------- 8 files changed, 193 insertions(+), 191 deletions(-) create mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8.10.1.inc delete mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc create mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.1.bb delete mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb create mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.1.bb delete mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb create mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx_8.10.1.bb delete mode 100644 backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.1.inc b/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.1.inc new file mode 100644 index 0000000..582beb1 --- /dev/null +++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.1.inc @@ -0,0 +1,17 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright (C) 2017-2021 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c3fe2b904fd694f28d2f646ee16dddb" + +SRC_URI = " \ + ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ +" + +SRC_URI[md5sum] = "1a9414928c3f30e7a911700fe83cd62e" +SRC_URI[sha256sum] = "da415c32063c08fce8f52734f198b19ab06bd7d4333a4df900f8831df562f8fc" + +S = "${WORKDIR}/firmware-imx-${PV}" + +inherit fsl-eula-unpack diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc b/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc deleted file mode 100644 index 6f1222a..0000000 --- a/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2020 NXP -# Copyright (C) 2018 O.S. Systems Software LTDA. -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=cf3f9b8d09bc3926b1004ea71f7a248a" - -SRC_URI = " \ - ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ -" - -SRC_URI[md5sum] = "3f8c4661ca0f64ca30fd239f66b6a471" -SRC_URI[sha256sum] = "2b70f169d4065b2a7ac7a676afe24636128bd2dacc9f5230346758c3b146b2be" - -S = "${WORKDIR}/firmware-imx-${PV}" - -inherit fsl-eula-unpack diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.1.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.1.bb new file mode 100644 index 0000000..650c1cf --- /dev/null +++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.1.bb @@ -0,0 +1,23 @@ +# Copyright (C) 2018-2020 NXP +SUMMARY = "Freescale i.MX firmware for 8 family" +DESCRIPTION = "Freescale i.MX firmware for 8 family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # Cadence HDMI + install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8)" +COMPATIBLE_MACHINE_mx8m = "(^$)" +COMPATIBLE_MACHINE_mx8x = "(^$)" diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb deleted file mode 100644 index 650c1cf..0000000 --- a/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 2018-2020 NXP -SUMMARY = "Freescale i.MX firmware for 8 family" -DESCRIPTION = "Freescale i.MX firmware for 8 family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Cadence HDMI - install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8)" -COMPATIBLE_MACHINE_mx8m = "(^$)" -COMPATIBLE_MACHINE_mx8x = "(^$)" diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.1.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.1.bb new file mode 100644 index 0000000..a48356e --- /dev/null +++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.1.bb @@ -0,0 +1,24 @@ +# Copyright (C) 2018-2020 NXP +SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" +DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done + # Cadence DP and HDMI + install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} + install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8m|imx-boot-container)" diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb deleted file mode 100644 index 44e9ff4..0000000 --- a/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2018-2020 NXP -SUMMARY = "Freescale i.MX firmware for 8M and 8M Mini family" -DESCRIPTION = "Freescale i.MX firmware for 8M and 8M Mini family" - -require firmware-imx-${PV}.inc - -inherit deploy - -do_install[noexec] = "1" - -do_deploy() { - # Synopsys DDR - for ddr_firmware in ${DDR_FIRMWARE_NAME}; do - install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} - done - # Cadence DP and HDMI - install -m 0644 ${S}/firmware/hdmi/cadence/signed_dp_imx8m.bin ${DEPLOYDIR} - install -m 0644 ${S}/firmware/hdmi/cadence/signed_hdmi_imx8m.bin ${DEPLOYDIR} -} -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8m)" diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.1.bb b/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.1.bb new file mode 100644 index 0000000..8ff4a32 --- /dev/null +++ b/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.1.bb @@ -0,0 +1,129 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright (C) 2017-2020 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SUMMARY = "Freescale i.MX firmware" +DESCRIPTION = "Freescale i.MX firmware such as for the VPU" + +require firmware-imx-${PV}.inc + +PE = "1" + +inherit allarch + +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 + 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 + install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/ + + # XCVR Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr + install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/ + + # XUVI Firmware section + install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi + install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/ + + # EPDC Firmware section + # NOTE: + # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should + # be installed with a different name + install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc + install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/ + install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw + + # HDMI Firmware section + # NOTE: + # Only install pre-defined list of firmware files, since the source archive contains + # also HDMI binary files for imx8m derivatives, which are taken care of by another recipe + install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi + install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi + + # VPU Firmware section + # NOTE: + # Do the same thing as above for HDMI - only install a pre-defined list of firmware files, + # 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 +} + +# +# This prepend is here to produce separate packages containing firmware, +# which could be included separately based on the machine definition. +# +# It operates similar to the FILES mechanism by travesing through +# ${D} + folder supplied as a first parameter, matches the regexp supplied +# as second one, and for every file match - it creates a separate package, +# which contains only files that matches the pattern. +# +python populate_packages_prepend() { + easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) + do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', + output_pattern='firmware-imx-easrc-%s', + description='Freescale IMX EASRC Firmware [%s]', + extra_depends='', + prepend=True) + + vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d) + do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-vpu-%s', + description='Freescale IMX VPU Firmware [%s]', + extra_depends='', + prepend=True) + + sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) + do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', + output_pattern='firmware-imx-sdma-%s', + description='Freescale IMX SDMA Firmware [%s]', + extra_depends='', + prepend=True) + + xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) + do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', + output_pattern='firmware-imx-xcvr-%s', + description='Freescale IMX XCVR Firmware [%s]', + extra_depends='', + prepend=True) + + xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) + do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-xuvi-%s', + description='Freescale IMX XUVI Firmware [%s]', + extra_depends='', + prepend=True) +} + +# Declare a contract that we would provide packages produced by prepend above +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*" + +# +# Deal with the rest of Firmware packages here +# +# Provide EPDC and HDMI Firmware in common packages as they tend to be special in +# terms of the content. +# +# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated +# complimentary packages (-dev and -dbg). +# This is done in order to be able to keep the main package empty and fail when +# somebody tries to install it in the image. +# If -dev package is present in that setup, and dev-pkgs is enabled in +# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev +# packages would be installed, and -dev package would fail because the main one +# 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" + +FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" +FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/" + +COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)" diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb b/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb deleted file mode 100644 index 84534a6..0000000 --- a/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2020 NXP -# Copyright (C) 2018 O.S. Systems Software LTDA. -SUMMARY = "Freescale i.MX firmware" -DESCRIPTION = "Freescale i.MX firmware such as for the VPU" - -require firmware-imx-${PV}.inc - -PE = "1" - -inherit allarch - -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 - - # EASRC Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/easrc - install -m 0644 ${S}/firmware/easrc/* ${D}${nonarch_base_libdir}/firmware/imx/easrc/ - - # XCVR Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/xcvr - install -m 0644 ${S}/firmware/xcvr/* ${D}${nonarch_base_libdir}/firmware/imx/xcvr/ - - # XUVI Firmware section - install -d ${D}${nonarch_base_libdir}/firmware/imx/xuvi - install -m 0644 ${S}/firmware/xuvi/* ${D}${nonarch_base_libdir}/firmware/imx/xuvi/ - - # EPDC Firmware section - # NOTE: - # epdc_ED060XH2C1.fw file has .nonrestricted suffix in the source archive, hence it should - # be installed with a different name - install -d ${D}${nonarch_base_libdir}/firmware/imx/epdc - install -m 0644 ${S}/firmware/epdc/*.fw ${D}${nonarch_base_libdir}/firmware/imx/epdc/ - install -m 0644 ${S}/firmware/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${nonarch_base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw - - # HDMI Firmware section - # NOTE: - # Only install pre-defined list of firmware files, since the source archive contains - # also HDMI binary files for imx8m derivatives, which are taken care of by another recipe - install -d ${D}${nonarch_base_libdir}/firmware/imx/hdmi - install -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware/imx/hdmi - - # VPU Firmware section - # NOTE: - # Do the same thing as above for HDMI - only install a pre-defined list of firmware files, - # 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 -} - -# -# This prepend is here to produce separate packages containing firmware, -# which could be included separately based on the machine definition. -# -# It operates similar to the FILES mechanism by travesing through -# ${D} + folder supplied as a first parameter, matches the regexp supplied -# as second one, and for every file match - it creates a separate package, -# which contains only files that matches the pattern. -# -python populate_packages_prepend() { - easrcdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/easrc', d) - do_split_packages(d, easrcdir, '^easrc-([^_]*).*\.bin', - output_pattern='firmware-imx-easrc-%s', - description='Freescale IMX EASRC Firmware [%s]', - extra_depends='', - prepend=True) - - vpudir = bb.data.expand('${nonarch_base_libdir}/firmware/vpu', d) - do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', - output_pattern='firmware-imx-vpu-%s', - description='Freescale IMX VPU Firmware [%s]', - extra_depends='', - prepend=True) - - sdmadir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/sdma', d) - do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', - output_pattern='firmware-imx-sdma-%s', - description='Freescale IMX SDMA Firmware [%s]', - extra_depends='', - prepend=True) - - xcvrdir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xcvr', d) - do_split_packages(d, xcvrdir, '^xcvr-([^_]*).*\.bin', - output_pattern='firmware-imx-xcvr-%s', - description='Freescale IMX XCVR Firmware [%s]', - extra_depends='', - prepend=True) - - xuvidir = bb.data.expand('${nonarch_base_libdir}/firmware/imx/xuvi', d) - do_split_packages(d, xuvidir, '^vpu_fw_([^_]*).*\.bin', - output_pattern='firmware-imx-xuvi-%s', - description='Freescale IMX XUVI Firmware [%s]', - extra_depends='', - prepend=True) -} - -# Declare a contract that we would provide packages produced by prepend above -PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xuvi-*" - -# -# Deal with the rest of Firmware packages here -# -# Provide EPDC and HDMI Firmware in common packages as they tend to be special in -# terms of the content. -# -# NOTE: PACKAGES are defined explicitly here in order to remove the auto-generated -# complimentary packages (-dev and -dbg). -# This is done in order to be able to keep the main package empty and fail when -# somebody tries to install it in the image. -# If -dev package is present in that setup, and dev-pkgs is enabled in -# IMAGE_FEATURES - this leads to a failure during do_rootfs() while all -dev -# packages would be installed, and -dev package would fail because the main one -# 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" - -FILES_${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" -FILES_${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/" - -COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)" -- cgit v1.2.3