From aa4b206a7345cd8f339ad2919f49e73e03b8e5e1 Mon Sep 17 00:00:00 2001 From: Benjamin Szőke Date: Sun, 23 Jun 2024 23:03:31 +0200 Subject: firmware-imx: Update 8.23 -> 8.24 --- recipes-bsp/firmware-imx/firmware-imx-8.23.inc | 17 -- recipes-bsp/firmware-imx/firmware-imx-8.24.inc | 17 ++ recipes-bsp/firmware-imx/firmware-imx_8.23.bb | 171 --------------------- recipes-bsp/firmware-imx/firmware-imx_8.24.bb | 171 +++++++++++++++++++++ .../firmware-imx/imx-boot-firmware-files_8.23.bb | 61 -------- .../firmware-imx/imx-boot-firmware-files_8.24.bb | 61 ++++++++ 6 files changed, 249 insertions(+), 249 deletions(-) delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.23.inc create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.24.inc delete mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.23.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.24.bb delete mode 100644 recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb create mode 100644 recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.23.inc b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc deleted file mode 100644 index bd471f77..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8.23.inc +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017-2022 NXP -# Copyright (C) 2018 O.S. Systems Software LTDA. -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" - -SRC_URI = " \ - ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ -" - -SRC_URI[md5sum] = "eb03efb3a8fb98d99ed1df88537e72f4" -SRC_URI[sha256sum] = "fe07633295dac3dd99f0ba4e07a7cde95bb24a29ca82b9a9b3f6026d29ae916a" - -S = "${WORKDIR}/firmware-imx-${PV}" - -inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.24.inc b/recipes-bsp/firmware-imx/firmware-imx-8.24.inc new file mode 100644 index 00000000..9e9d10dc --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8.24.inc @@ -0,0 +1,17 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2023 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=10c0fda810c63b052409b15a5445671a" + +# Note: This .inc file is used from differently named recipes, so the package +# name must be hard-coded, i.e., ${BPN} cannot be used. +SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" +IMX_SRCREV_ABBREV = "fbe0a4c" +SRC_URI[md5sum] = "440b125e897614d77fac663d90bcffc8" +SRC_URI[sha256sum] = "2e27962332197ebebbb30138f6dfb365361d48d7efa565df97c4f79285b1ca50" + +S = "${WORKDIR}/firmware-imx-${PV}-${IMX_SRCREV_ABBREV}" + +inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb deleted file mode 100644 index 0c935b92..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx_8.23.bb +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# 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" - -require firmware-imx-${PV}.inc - -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 - # 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 - 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 -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware - install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware - install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware - - # 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 - # 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 -} - -# -# 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() { - # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to - # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's - # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares. - def coda_vpu_links(file, pkg, pattern, format, basename): - # Only CODA VPU firmwares need this procedure - if 'imx8' in basename: - return - - dir = os.path.dirname(file) - dir = os.path.abspath(os.path.join(dir, os.pardir)) - cwd = os.getcwd() - - os.chdir(dir) - - name = os.path.basename(file) - os.symlink(os.path.join("vpu", name), name) - - oldfiles = d.getVar('FILES:' + pkg) - newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name) - d.setVar('FILES:' + pkg, oldfiles + " " + newfile) - - 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', - 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]', - hook=coda_vpu_links, - 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 ${PN}-vpu-amphion ${PN}-vpu-wave" - -FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" -FILES:${PN}-hdmi = " \ - ${nonarch_base_libdir}/firmware/hdmitxfw.bin \ - ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ - ${nonarch_base_libdir}/firmware/dpfw.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)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.24.bb b/recipes-bsp/firmware-imx/firmware-imx_8.24.bb new file mode 100644 index 00000000..489174d0 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_8.24.bb @@ -0,0 +1,171 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# 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" + +require ${BP}.inc + +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 + # 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 + 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 -m 0644 ${S}/firmware/hdmi/cadence/hdmitxfw.bin ${D}${nonarch_base_libdir}/firmware + install -m 0644 ${S}/firmware/hdmi/cadence/hdmirxfw.bin ${D}${nonarch_base_libdir}/firmware + install -m 0644 ${S}/firmware/hdmi/cadence/dpfw.bin ${D}${nonarch_base_libdir}/firmware + + # 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 + # 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 +} + +# +# 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() { + # CODA driver tries to locate VPU firmwares directly in ${nonarch_base_libdir}/firmware, to + # avoid fallback loading which is usually 40-60 seconds later after system boots up, let's + # create symbolic links in ${nonarch_base_libdir}/firmware for VPU firmwares. + def coda_vpu_links(file, pkg, pattern, format, basename): + # Only CODA VPU firmwares need this procedure + if 'imx8' in basename: + return + + dir = os.path.dirname(file) + dir = os.path.abspath(os.path.join(dir, os.pardir)) + cwd = os.getcwd() + + os.chdir(dir) + + name = os.path.basename(file) + os.symlink(os.path.join("vpu", name), name) + + oldfiles = d.getVar('FILES:' + pkg) + newfile = os.path.join(d.getVar('nonarch_base_libdir'), "firmware", name) + d.setVar('FILES:' + pkg, oldfiles + " " + newfile) + + 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', + 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]', + hook=coda_vpu_links, + 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 ${PN}-vpu-amphion ${PN}-vpu-wave" + +FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" +FILES:${PN}-hdmi = " \ + ${nonarch_base_libdir}/firmware/hdmitxfw.bin \ + ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ + ${nonarch_base_libdir}/firmware/dpfw.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)" diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb deleted file mode 100644 index 24619859..00000000 --- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 2018-2023 NXP -SUMMARY = "Freescale i.MX Firmware files used for boot" - -require firmware-imx-${PV}.inc - -inherit deploy nopackages - -do_install[noexec] = "1" - -DEPLOY_FOR = "" -DEPLOY_FOR:mx8-generic-bsp = "mx8" -DEPLOY_FOR:mx8m-generic-bsp = "mx8m" -DEPLOY_FOR:mx9-generic-bsp = "mx9" - -deploy_for_mx8() { - # 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} -} - -deploy_for_mx8m() { - # 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} -} - - -deploy_for_mx9() { - # Synopsys DDR - for ddr_firmware in ${DDR_FIRMWARE_NAME}; do - install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} - done -} - -python () { - # Manually add the required functions as dependencies otherwise they won't be included in the - # final run script. - deploy_for = d.getVar('DEPLOY_FOR', True).split() - for soc in deploy_for: - d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc) -} - -do_deploy () { - for soc in ${DEPLOY_FOR}; do - bbnote "Running deploy for $soc" - deploy_for_$soc - done -} - -addtask deploy after do_install before do_build - -PACKAGE_ARCH = "${MACHINE_SOCARCH}" - -COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" -COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)" diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb new file mode 100644 index 00000000..24619859 --- /dev/null +++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.24.bb @@ -0,0 +1,61 @@ +# Copyright (C) 2018-2023 NXP +SUMMARY = "Freescale i.MX Firmware files used for boot" + +require firmware-imx-${PV}.inc + +inherit deploy nopackages + +do_install[noexec] = "1" + +DEPLOY_FOR = "" +DEPLOY_FOR:mx8-generic-bsp = "mx8" +DEPLOY_FOR:mx8m-generic-bsp = "mx8m" +DEPLOY_FOR:mx9-generic-bsp = "mx9" + +deploy_for_mx8() { + # 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} +} + +deploy_for_mx8m() { + # 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} +} + + +deploy_for_mx9() { + # Synopsys DDR + for ddr_firmware in ${DDR_FIRMWARE_NAME}; do + install -m 0644 ${S}/firmware/ddr/synopsys/${ddr_firmware} ${DEPLOYDIR} + done +} + +python () { + # Manually add the required functions as dependencies otherwise they won't be included in the + # final run script. + deploy_for = d.getVar('DEPLOY_FOR', True).split() + for soc in deploy_for: + d.appendVarFlag('do_deploy', 'vardeps', ' deploy_for_%s' % soc) +} + +do_deploy () { + for soc in ${DEPLOY_FOR}; do + bbnote "Running deploy for $soc" + deploy_for_$soc + done +} + +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8-generic-bsp|mx9-generic-bsp)" +COMPATIBLE_MACHINE:mx8x-generic-bsp = "(^$)" -- cgit v1.2.3-54-g00ecf From 7eea973661fd090d9bd6c56c837ce4cf6122c742 Mon Sep 17 00:00:00 2001 From: Benjamin Szőke Date: Mon, 24 Jun 2024 12:47:29 +0200 Subject: EULA: Update to v56 --- EULA | 43 +++++++++++++++++++++++++++++++---------- classes/fsl-eula-unpack.bbclass | 4 +++- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/EULA b/EULA index 64d5ecb6..c0273f8e 100644 --- a/EULA +++ b/EULA @@ -1,4 +1,4 @@ -LA_OPT_NXP_Software_License v53 December 2023 +LA_OPT_NXP_Software_License v56 April 2024 IMPORTANT. Read the following NXP Software License Agreement ("Agreement") completely. By selecting the "I Accept" button at the end of this page, or by downloading, installing, or using the Licensed Software, you indicate that you @@ -15,7 +15,9 @@ supersede this Agreement. NXP SOFTWARE LICENSE AGREEMENT This is a legal agreement between your employer, of which you are an authorized representative, or, if you have no employer, you as an individual ("you" or -"Licensee"), and NXP B.V. ("NXP"). It concerns your rights to use the software +"Licensee"), and and NXP USA, Inc., if Licensee is located within the United +States or NXP Semiconductors Netherlands B.V., if Licensee if located outside +of the United States (“NXP”). It concerns your rights to use the software provided to you in binary or source code form and any accompanying written materials (the "Licensed Software"). The Licensed Software may include any updates or error corrections or documentation relating to the Licensed Software @@ -290,13 +292,20 @@ APPLICATIONS BY LICENSEE. Accordingly, Licensee will indemnify and hold NXP harmless from any claims, liabilities, damages and associated costs and expenses (including attorneys’ fees) that NXP may incur related to Licensee’s incorporation of the Licensed Software in a Critical Application. -15. CHOICE OF LAW; VENUE. This Agreement will be governed by, -construed, and enforced in accordance with the laws of The Netherlands, without -regard to conflicts of laws principles, will apply to all matters relating to -this Agreement or the Licensed Software, and you agree that any litigation will -be subject to the exclusive jurisdiction of the courts of Amsterdam, The -Netherlands. The United Nations Convention on Contracts for the International -Sale of Goods will not apply to this document. +15. CHOICE OF LAW; VENUE. When Software is licensed by NXP USA, Inc., +Licensee agrees that the laws of the State of Texas, USA, without regard to +conflicts of laws principles, will apply to all matters relating to this +Agreement or the Software, and Licensee agrees that any litigation will be +subject to the exclusive jurisdiction of the state or federal courts in Austin, +Texas, USA.. When Software is licensed by NXP Semiconductors Netherlands B.V., +Licensee agrees that the laws of The Netherlands, without regard to conflicts +of laws principles, will apply to all matters relating to this Agreement or the +Software, and Licensee agrees that any litigation will be subject to the +exclusive jurisdiction of the courts in Amsterdam, The Netherlands. +Notwithstanding the foregoing, NXP will always be permitted to bring any action +or proceedings against Licensee in any other court of competent jurisdiction. +The United Nations Convention on Contracts for the International Sale of Goods +will not apply to this document. 16. CONFIDENTIAL INFORMATION. Subject to the license grants and restrictions contained herein, you must treat the Licensed Software as confidential information and you agree to retain the Licensed Software in @@ -555,7 +564,15 @@ Lumissil: Use of the Lumissil software constitutes your acceptance of the terms of the Lumissil Software License Agreement. A link to the agreement is incorporated as follows: https://www.lumissil.com/assets/pdf/support/2023%20Lumissil%20IS3xCG5317%20Softw -are%20License%20Agreement%20NXP.pdf . +are%20License%20Agreement%20NXP.pdf . The Run-Time Software and Boot ROM Code +are without warranty of any kind from NXP or Lumissil, either express or +implied, including without limitation the implied warranties of +merchantability, fitness for a particular purpose, or non-infringement. You +assume the entire risk arising out of the use or performance of the Lumissil +software, or any systems you design using the such, if any. For the use of +Lumissil software, Lumissil is as a third-party beneficiary of the this +Agreement with authority to enforce its rights in the Run-Time Software and +Boot ROM Code. Microsoft: Except for Microsoft PlayReady software, if the Licensed Software includes software owned by Microsoft Corporation ("Microsoft"), it is subject @@ -727,10 +744,16 @@ sublicense or otherwise distribute the source code, or any modifications or derivatives thereof as stand-alone products. You will be responsible for qualifying any modifications or derivatives with the Bluetooth SIG and any other qualifying bodies. + TARA Systems: Use of TARA Systems GUI technology Embedded Wizard is limited to evaluation and demonstration only. Permitted distributions must be similarly limited. Further rights must be obtained directly from TARA Systems. +Teensyduino Core Library: If the Teensyduino Core Library or documentation is +incorporated into a build system that allows selection among a list of target +devices, then similar target devices manufactured by PJRC.com must be included +in the list of target devices and selectable in the same manner. + Texas Instruments: Your use of Texas Instruments Inc. WiLink8 Licensed Software is restricted to NXP SoC based systems that include a compatible connectivity device manufactured by TI. diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass index 46b0f9c4..86338259 100644 --- a/classes/fsl-eula-unpack.bbclass +++ b/classes/fsl-eula-unpack.bbclass @@ -59,6 +59,7 @@ FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V47 = "9135422c7a38dac21bf1f858 FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48 = "db4762b09b6bda63da103963e6e081de" FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49 = "2827219e81f28aba7c6a569f7c437fa7" FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53 = "44a8052c384584ba09077e85a3d1654f" +FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56 = "10c0fda810c63b052409b15a5445671a" FSL_EULA_FILE_MD5SUMS = " \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_BASE_LICENSE_V8} \ @@ -114,11 +115,12 @@ FSL_EULA_FILE_MD5SUMS = " \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V48} \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V49} \ ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53} \ + ${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56} \ " # The checksum for the EULA in the layer FSL_EULA_FILE_MD5SUM ?= \ - "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V53}" + "${FSL_EULA_FILE_MD5SUM_LA_OPT_NXP_SOFTWARE_LICENSE_V56}" LIC_FILES_CHKSUM_LAYER ?= "file://${FSL_EULA_FILE};md5=${FSL_EULA_FILE_MD5SUM}" LIC_FILES_CHKSUM_LAYER[vardepsexclude] += "FSL_EULA_FILE" -- cgit v1.2.3-54-g00ecf