summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2021-01-28 11:59:49 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2021-01-30 19:31:32 +0100
commit4ac620794004e571ecca1a9d049563f28fa714cc (patch)
tree7d135d76825d6de1e4ae7fcc315fe87fe787f2dd
parent3adeb60b68ac1f4031b0c564cd17aa3762d19b86 (diff)
firmware-imx: upgrade to 8.10
Updated package uses new EULA v17 October 2020. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> taken from meta-freescale Related-to: ELB-3327 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
-rw-r--r--backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc17
-rw-r--r--backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb23
-rw-r--r--backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb24
-rw-r--r--backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb127
4 files changed, 191 insertions, 0 deletions
diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc b/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc
new file mode 100644
index 0000000..6f1222a
--- /dev/null
+++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8.10.inc
@@ -0,0 +1,17 @@
+# 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.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.bb
new file mode 100644
index 0000000..650c1cf
--- /dev/null
+++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8_8.10.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-8m_8.10.bb b/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.bb
new file mode 100644
index 0000000..44e9ff4
--- /dev/null
+++ b/backports/recipes-bsp/firmware-imx/firmware-imx-8m_8.10.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)"
diff --git a/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb b/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb
new file mode 100644
index 0000000..84534a6
--- /dev/null
+++ b/backports/recipes-bsp/firmware-imx/firmware-imx_8.10.bb
@@ -0,0 +1,127 @@
+# 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)"