From 355719cd99e75be3f5d8bcef3d2cbab3ac215d2f Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Thu, 25 Jan 2024 15:01:44 -0300 Subject: firmware-imx-8: Update 8.18 -> 8.22 to align with 6.1.55_2.2.0 Update the firmware-imx-8 to be aligned with the NXP BSP LF6.1.55_2.2.0. Signed-off-by: Daiane Angolini --- recipes-bsp/firmware-imx/firmware-imx-8.18.inc | 17 ----------------- recipes-bsp/firmware-imx/firmware-imx-8.22.inc | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.18.inc create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.22.inc diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.18.inc b/recipes-bsp/firmware-imx/firmware-imx-8.18.inc deleted file mode 100644 index 248293706..000000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8.18.inc +++ /dev/null @@ -1,17 +0,0 @@ -# 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=5a0bf11f745e68024f37b4724a5364fe" - -SRC_URI = " \ - ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ -" - -SRC_URI[md5sum] = "436501f8e67c10eed6bba88457e701a2" -SRC_URI[sha256sum] = "f050f60351a54fd75954fdeb133ddd014a5576040c72616e216b63db0e242dd4" - -S = "${WORKDIR}/firmware-imx-${PV}" - -inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.22.inc b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc new file mode 100644 index 000000000..804a7db0b --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8.22.inc @@ -0,0 +1,17 @@ +# 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=2827219e81f28aba7c6a569f7c437fa7" + +SRC_URI = " \ + ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ +" + +SRC_URI[md5sum] = "c5cf3842569f0a7fd990fbc64979e84f" +SRC_URI[sha256sum] = "94c8bceac56ec503c232e614f77d6bbd8e17c7daa71d4e651ea8fd5034c30350" + +S = "${WORKDIR}/firmware-imx-${PV}" + +inherit fsl-eula-unpack -- cgit v1.2.3-54-g00ecf From 52f0f8992df2bfe9d4c38d50411540f99737f4b6 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Thu, 25 Jan 2024 15:10:01 -0300 Subject: firmware-imx: Update 8.18 -> 8.22 to align to LF6.1.55_2.2.0 Update the firmware-imx to be aligned with the NXP BSP LF6.1.55_2.2.0. Signed-off-by: Daiane Angolini --- recipes-bsp/firmware-imx/firmware-imx_8.18.bb | 156 -------------------------- recipes-bsp/firmware-imx/firmware-imx_8.22.bb | 156 ++++++++++++++++++++++++++ 2 files changed, 156 insertions(+), 156 deletions(-) delete mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.18.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.22.bb diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.18.bb b/recipes-bsp/firmware-imx/firmware-imx_8.18.bb deleted file mode 100644 index f84ea1fac..000000000 --- a/recipes-bsp/firmware-imx/firmware-imx_8.18.bb +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 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 -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 -} - -# -# 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" - -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 \ -" - -COMPATIBLE_MACHINE = "(imx-generic-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.22.bb b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb new file mode 100644 index 000000000..a9e36b5e7 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_8.22.bb @@ -0,0 +1,156 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2021 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 -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 +} + +# +# 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" + +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 \ +" + +COMPATIBLE_MACHINE = "(imx-generic-bsp)" -- cgit v1.2.3-54-g00ecf From b0d992fa71e69c418cb42745047ee6bfe2355e47 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Thu, 25 Jan 2024 15:20:18 -0300 Subject: imx-boot-firmware-files: Update 8.18 -> 8.20 to align to LF6.1.55_2.2.0 Signed-off-by: Daiane Angolini --- .../firmware-imx/imx-boot-firmware-files_8.18.bb | 61 ---------------------- .../firmware-imx/imx-boot-firmware-files_8.22.bb | 61 ++++++++++++++++++++++ 2 files changed, 61 insertions(+), 61 deletions(-) delete mode 100644 recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb create mode 100644 recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb diff --git a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb deleted file mode 100644 index dbbe0ec61..000000000 --- a/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.18.bb +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 2018-2020 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.22.bb b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.bb new file mode 100644 index 000000000..246198596 --- /dev/null +++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.22.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 d27e6398c330646f3a38403f6064cbbafd084e58 Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Thu, 25 Jan 2024 16:34:37 -0300 Subject: firmware-nxp-wifi: Update the recipe to align to the NXP BSP LF6.1.55_2.2.0 Since [1] the install function is simpler. [1] https://github.com/nxp-imx/meta-imx/commit/e29414cad747fb424170f53f12de2abb23e2e2d4 Signed-off-by: Daiane Angolini --- recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb | 67 +++++------------------ 1 file changed, 14 insertions(+), 53 deletions(-) diff --git a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb index 32e88433b..8dc7ae64a 100644 --- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb +++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb @@ -7,11 +7,11 @@ should be preferred." SECTION = "kernel" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://EULA.txt;md5=673fa34349fa40f59e0713cb0ac22b1f" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2827219e81f28aba7c6a569f7c437fa7" SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH}" -SRCBRANCH = "lf-6.1.22_2.0.0" -SRCREV = "f775d53ca3a478c85e8c8a880e44cc269bd14db0" +SRCBRANCH = "lf-6.1.55_2.2.0" +SRCREV = "7be5a936ce8677962dd7b41c6c9f41dd14350bec" S = "${WORKDIR}/git" @@ -25,8 +25,11 @@ do_compile() { } do_install() { - # Install various flavors of Broadcom firmware provided by Murata: - # - bcm4359-pcie + + install -d ${D}${nonarch_base_libdir}/firmware/nxp + install -d ${D}${nonarch_base_libdir}/firmware/brcm/ + + # Install bcm4359-pcie for f in cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie*; do install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/brcm/$(basename $f) done @@ -35,56 +38,13 @@ do_install() { install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f) done - # Install NXP Connectivity common - install -D -m 0644 nxp/wifi_mod_para.conf ${D}${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf - - # Install NXP Connectivity SD8801 firmware - install -m 0644 nxp/FwImage_8801_SD/ed_mac_ctrl_V1_8801.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8801_SD/sd8801_uapsta.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity SDIO8987 firmware - install -m 0644 nxp/FwImage_8987/ed_mac_ctrl_V3_8987.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8987/sd8987_wlan.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8987/sdiouart8987_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8987/txpwrlimit_cfg_8987.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8987/uartuart8987_bt.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity PCIE8997 firmware - install -m 0644 nxp/FwImage_8997/ed_mac_ctrl_V3_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997/pcie8997_wlan_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997/pcieuart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997/txpwrlimit_cfg_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997/uartuart8997_bt_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity SDIO8997 firmware - install -m 0644 nxp/FwImage_8997_SD/ed_mac_ctrl_V3_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997_SD/sdio8997_wlan_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997_SD/sdiouart8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_8997_SD/txpwrlimit_cfg_8997.conf ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity PCIE9098 firmware - install -m 0644 nxp/FwImage_9098_PCIE/ed_mac_ctrl_V3_909x.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_9098_PCIE/pcie9098_wlan_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_9098_PCIE/pcieuart9098_combo_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_9098_PCIE/txpwrlimit_cfg_9098.conf ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_9098_PCIE/uartuart9098_bt_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity SDIO9098 firmware - install -m 0644 nxp/FwImage_9098_SD/sdio9098_wlan_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_9098_SD/sdiouart9098_combo_v1.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity IW416 firmware - install -m 0644 nxp/FwImage_IW416_SD/sdioiw416_wlan_v0.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_IW416_SD/sdiouartiw416_combo_v0.bin ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_IW416_SD/uartiw416_bt_v0.bin ${D}${nonarch_base_libdir}/firmware/nxp - - # Install NXP Connectivity IW612 firmware - install -m 0644 nxp/FwImage_IW612_SD/sduart_nw61x_v1.bin.se ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_IW612_SD/sd_w61x_v1.bin.se ${D}${nonarch_base_libdir}/firmware/nxp - install -m 0644 nxp/FwImage_IW612_SD/uartspi_n61x_v1.bin.se ${D}${nonarch_base_libdir}/firmware/nxp - for f in nxp/FwImage_IW612_SD/IW612_SD_RFTest/*; do + for f in nxp/FwImage_IW612_SD/*; do install -D -m 0644 $f ${D}${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/$(basename $f) done + + oe_runmake install INSTALLDIR=${D}${nonarch_base_libdir}/firmware/nxp + + } PACKAGES =+ " \ @@ -109,6 +69,7 @@ FILES:${PN}-bcm4359-pcie = " \ FILES:${PN}-nxp-common = " \ ${nonarch_base_libdir}/firmware/nxp/wifi_mod_para.conf \ + ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \ " FILES:${PN}-nxp8801-sdio = " \ -- cgit v1.2.3-54-g00ecf From 45c356555ef8535f99dc76a368f8d22e7087461e Mon Sep 17 00:00:00 2001 From: Daiane Angolini Date: Fri, 26 Jan 2024 13:56:04 -0300 Subject: firmware-sentinel: Rename firmware-sentinel to firmware-ele-imx Since [1] the firmware-sentinel is renamed to firmware-ele-imx. It also align the recipe to be aligned with the NXP BSP LF6.1.55_2.2.0. [1] https://github.com/nxp-imx/meta-imx/commit/6412faf7e4b85f6d94342a19a79fd391888b1ec6 Signed-off-by: Daiane Angolini --- conf/machine/include/imx-base.inc | 4 +-- recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb | 32 ++++++++++++++++++++++ .../firmware-sentinel/firmware-sentinel_0.11.bb | 27 ------------------ 3 files changed, 34 insertions(+), 29 deletions(-) create mode 100644 recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb delete mode 100644 recipes-bsp/firmware-sentinel/firmware-sentinel_0.11.bb diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index e17a1c649..ff0796bf0 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -398,8 +398,8 @@ IMX_EXTRA_FIRMWARE ?= "" IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware imx-seco" IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files" IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco" -IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-sentinel" -IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-sentinel" +IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx" +IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx" # Firmware MACHINE_FIRMWARE ?= "" diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb new file mode 100644 index 000000000..83c865c25 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.0.bb @@ -0,0 +1,32 @@ +# Copyright 2021-2023 NXP +SUMMARY = "NXP i.MX ELE firmware" +DESCRIPTION = "EdgeLock Enclave firmware for i.MX series SoCs" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=2827219e81f28aba7c6a569f7c437fa7" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "7532c2e356574c1c9255c01169d38427" +SRC_URI[sha256sum] = "4a0440168d8dfb95989a17be8fafb149589e110e7d4518e5e8a33463dfb5e5ca" + +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${nonarch_base_libdir}/firmware/imx/ele + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele +} + +do_deploy () { + # Deploy the related firmware to be package by imx-boot + install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} +} +addtask deploy after do_install before do_build + +FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" + +RREPLACES:${PN} = "firmware-sentinel" +RPROVIDES:${PN} = "firmware-sentinel" + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/recipes-bsp/firmware-sentinel/firmware-sentinel_0.11.bb b/recipes-bsp/firmware-sentinel/firmware-sentinel_0.11.bb deleted file mode 100644 index 1c5163e1a..000000000 --- a/recipes-bsp/firmware-sentinel/firmware-sentinel_0.11.bb +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2021-2023 NXP -SUMMARY = "NXP i.MX Sentinel firmware" -DESCRIPTION = "Firmware for i.MX Sentinel Security Controller" -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=db4762b09b6bda63da103963e6e081de" - -inherit fsl-eula-unpack use-imx-security-controller-firmware deploy - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "339011b6b199151d835c03089a3c2221" -SRC_URI[sha256sum] = "269480417a8ae9aa4cc4101ab947287fc33455a931021dbdc4d9badb5212bceb" - -do_compile[noexec] = "1" - -do_install() { - install -Dm 0644 ${S}/${SECO_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME} -} - -do_deploy() { - install -m 0644 ${S}/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} -} -addtask deploy after do_compile before do_build - -FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" - -COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" -- cgit v1.2.3-54-g00ecf