diff options
Diffstat (limited to 'recipes-bsp/firmware-imx')
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb | 40 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8.23.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.13.inc) | 8 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8_8.13.bb | 23 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx-8m_8.13.bb | 24 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx_8.23.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.13.bb) | 41 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb | 143 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb (renamed from recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb) | 6 | ||||
-rw-r--r-- | recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.bb | 61 |
8 files changed, 270 insertions, 76 deletions
diff --git a/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb new file mode 100644 index 00000000..70252c01 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-ele-imx_0.1.1.bb @@ -0,0 +1,40 @@ +# 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=44a8052c384584ba09077e85a3d1654f" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "f4df2005ec4555e9f177acbf62a7a969" +SRC_URI[sha256sum] = "3f69d6cf6ea448c5c2f87b6acdad1c5c2318616d246cc5047a523f2543fee408" + +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 + if [ -e ${S}/${SECOEXT_FIRMWARE_NAME} ]; then + install -m 0644 ${S}/${SECOEXT_FIRMWARE_NAME} ${D}${nonarch_base_libdir}/firmware/imx/ele + fi +} + +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 + +PACKAGES += "${PN}-ext" + +ALLOW_EMPTY:${PN}-ext = "1" + +FILES:${PN} += "${nonarch_base_libdir}/firmware/imx/ele/${SECO_FIRMWARE_NAME}" +FILES:${PN}-ext += "${nonarch_base_libdir}/firmware/imx/ele/${SECOEXT_FIRMWARE_NAME}" + +RREPLACES:${PN} = "firmware-sentinel" +RPROVIDES:${PN} = "firmware-sentinel" + +COMPATIBLE_MACHINE = "(mx8ulp-nxp-bsp|mx9-nxp-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.13.inc b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc index ff739c4c..bd471f77 100644 --- a/recipes-bsp/firmware-imx/firmware-imx-8.13.inc +++ b/recipes-bsp/firmware-imx/firmware-imx-8.23.inc @@ -1,16 +1,16 @@ # Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2021 NXP +# Copyright 2017-2022 NXP # Copyright (C) 2018 O.S. Systems Software LTDA. SECTION = "base" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" +LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f" SRC_URI = " \ ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ " -SRC_URI[md5sum] = "97eb12ba899bc29a5375993889708bfb" -SRC_URI[sha256sum] = "8b7aa9b41a0389e5f40bdf91cb1224f79ea4c2e7fc36292f27ad4bef7044d7f0" +SRC_URI[md5sum] = "eb03efb3a8fb98d99ed1df88537e72f4" +SRC_URI[sha256sum] = "fe07633295dac3dd99f0ba4e07a7cde95bb24a29ca82b9a9b3f6026d29ae916a" S = "${WORKDIR}/firmware-imx-${PV}" diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.13.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.13.bb deleted file mode 100644 index 6ea16d5b..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8_8.13.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/recipes-bsp/firmware-imx/firmware-imx-8m_8.13.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.13.bb deleted file mode 100644 index a48356ed..00000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.13.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|imx-boot-container)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.13.bb b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb index 68539a61..a9e36b5e 100644 --- a/recipes-bsp/firmware-imx/firmware-imx_8.13.bb +++ b/recipes-bsp/firmware-imx/firmware-imx_8.23.bb @@ -1,5 +1,5 @@ # Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017-2020 NXP +# 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" @@ -43,10 +43,9 @@ do_install() { # 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 + 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: @@ -66,6 +65,29 @@ do_install() { # 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', @@ -77,6 +99,7 @@ python populate_packages:prepend() { 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) @@ -124,6 +147,10 @@ PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-* ${PN}-easrc-* ${PN}-xcvr-* ${PN}-xu PACKAGES = "${PN} ${PN}-epdc ${PN}-hdmi" FILES:${PN}-epdc = "${nonarch_base_libdir}/firmware/imx/epdc/" -FILES:${PN}-hdmi = "${nonarch_base_libdir}/firmware/imx/hdmi/" +FILES:${PN}-hdmi = " \ + ${nonarch_base_libdir}/firmware/hdmitxfw.bin \ + ${nonarch_base_libdir}/firmware/hdmirxfw.bin \ + ${nonarch_base_libdir}/firmware/dpfw.bin \ +" -COMPATIBLE_MACHINE = "(imx|use-mainline-bsp)" +COMPATIBLE_MACHINE = "(imx-generic-bsp)" 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 5a7e6a1d..d28b2382 100644 --- a/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb +++ b/recipes-bsp/firmware-imx/firmware-nxp-wifi_1.0.bb @@ -1,17 +1,17 @@ -# Copyright 2020-2021 NXP +# Copyright 2020-2023 NXP SUMMARY = "Wi-Fi firmware redistributed by NXP" -DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP, \ -which is not covered by linux-firmware package. Once package becomes \ -available as a part of linux-firmware - it can be dropped from this \ -recipe in favor of upstream." +DESCRIPTION = "Additional Wi-Fi firmware redistributed by NXP. Some \ +is available in linux-firmware, but what is here is the latest and \ +should be preferred." SECTION = "kernel" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://cyw-wifi-bt/EULA.txt;md5=80c0478f4339af024519b3723023fe28" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44a8052c384584ba09077e85a3d1654f" -SRC_URI = "git://github.com/NXP/imx-firmware.git;protocol=https;branch=master" -SRCREV = "484d38224fa2c26b8859a7bf20b7c4d49100f5bc" +SRC_URI = "git://github.com/nxp-imx/imx-firmware.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "lf-6.6.3_1.0.0" +SRCREV = "2afa15e77f0b58eade42b4f59c9215339efcca66" S = "${WORKDIR}/git" @@ -25,17 +25,41 @@ do_compile() { } do_install() { - install -d ${D}${sysconfdir}/firmware - install -d ${D}${nonarch_base_libdir}/firmware/brcm - # Install various flavors of Broadcom firmware provided by Murata: - # - bcm4359-pcie - install -m 0644 cyw-wifi-bt/*_CYW*/brcmfmac4359-pcie* ${D}${nonarch_base_libdir}/firmware/brcm - install -m 0644 cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd ${D}${sysconfdir}/firmware + 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 + + for f in cyw-wifi-bt/*_CYW*/BCM4349B1*.hcd; do + install -D -m 0644 $f ${D}${sysconfdir}/firmware/$(basename $f) + done + + 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 =+ " \ ${PN}-bcm4359-pcie \ + ${PN}-nxp-common \ + ${PN}-nxp8801-sdio \ + ${PN}-nxp8987-sdio \ + ${PN}-nxp8997-common \ + ${PN}-nxp8997-pcie \ + ${PN}-nxp8997-sdio \ + ${PN}-nxp9098-pcie \ + ${PN}-nxp9098-common \ + ${PN}-nxp9098-sdio \ + ${PN}-nxpiw416-sdio \ + ${PN}-nxpiw612-sdio \ " FILES:${PN}-bcm4359-pcie = " \ @@ -43,4 +67,93 @@ FILES:${PN}-bcm4359-pcie = " \ ${sysconfdir}/firmware/BCM4349B1_*.hcd \ " -RPROVIDES:${PN}-bcm4359-pcie = "linux-firmware-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 = " \ + ${nonarch_base_libdir}/firmware/nxp/*8801* \ +" +RDEPENDS:${PN}-nxp8801-sdio += "${PN}-nxp-common" + +FILES:${PN}-nxp8987-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/*8987* \ +" +RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" +RREPLACES:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" +RCONFLICTS:${PN}-nxp8987-sdio = "linux-firmware-nxp8987-sdio" + +FILES:${PN}-nxp8997-common = " \ + ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_8997.conf \ + ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_8997.conf \ + ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \ +" +RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" +RREPLACES:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" +RCONFLICTS:${PN}-nxp8997-common = "linux-firmware-nxp8997-common" + +FILES:${PN}-nxp8997-pcie = " \ + ${nonarch_base_libdir}/firmware/nxp/pci*8997* \ +" +RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common" +RPROVIDES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" +RREPLACES:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" +RCONFLICTS:${PN}-nxp8997-pcie = "linux-firmware-nxp8997-pcie" + +FILES:${PN}-nxp8997-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sdio*8997* \ +" +RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common" +RPROVIDES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" +RREPLACES:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" +RCONFLICTS:${PN}-nxp8997-sdio = "linux-firmware-nxp8997-sdio" + +FILES:${PN}-nxp9098-common = " \ + ${nonarch_base_libdir}/firmware/nxp/ed_mac_ctrl_V3_909x.conf \ + ${nonarch_base_libdir}/firmware/nxp/txpwrlimit_cfg_9098.conf \ + ${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin \ +" +RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-common" +RPROVIDES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" +RREPLACES:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" +RCONFLICTS:${PN}-nxp9098-common = "linux-firmware-nxp9098-common" + +FILES:${PN}-nxp9098-pcie = " \ + ${nonarch_base_libdir}/firmware/nxp/pcie*9098* \ +" +RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common" +RPROVIDES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" +RREPLACES:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" +RCONFLICTS:${PN}-nxp9098-pcie = "linux-firmware-nxp9098-pcie" + +FILES:${PN}-nxp9098-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sdio*9098* \ +" +RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common" +RPROVIDES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" +RREPLACES:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" +RCONFLICTS:${PN}-nxp9098-sdio = "linux-firmware-nxp9098-sdio" + +FILES:${PN}-nxpiw416-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/*iw416* \ +" +RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" +RREPLACES:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" +RCONFLICTS:${PN}-nxpiw416-sdio = "linux-firmware-nxpiw416-sdio" + +FILES:${PN}-nxpiw612-sdio = " \ + ${nonarch_base_libdir}/firmware/nxp/sduart_nw61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/sd_w61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se \ + ${nonarch_base_libdir}/firmware/nxp/IW612_SD_RFTest/ \ +" +RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-common" +RPROVIDES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" +RREPLACES:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" +RCONFLICTS:${PN}-nxpiw612-sdio = "linux-firmware-nxpiw612-sdio" + +COMPATIBLE_MACHINE = "(imx-generic-bsp)" diff --git a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb index d0a497b8..9778bd1c 100644 --- a/recipes-bsp/firmware-imx/firmware-sof-imx_1.9.0-1.bb +++ b/recipes-bsp/firmware-imx/firmware-sof-imx_2.3.0.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2020 Mihai Lindner <mihai.lindner@nxp.com> +# Copyright (C) 2020-2022 NXP # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "Sound Open Firmware" @@ -8,8 +8,8 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=0f00d99239d922ffd13cabef83b33444" SRC_URI = "${FSL_MIRROR}/sof-imx-${PV}.tar.gz" -SRC_URI[md5sum] = "7560d41c3be0a97c744874b531649326" -SRC_URI[sha256sum] = "106cfb3da27867520d86649cde98256217829c97f41984e10161c1e2707e2c4e" +SRC_URI[md5sum] = "f7d277717b3f0dd17e8d341c1091d6b6" +SRC_URI[sha256sum] = "eb86c90aec92b3b376e7afca6aa5db4767b5d8868553595907ba37665329f16b" S = "${WORKDIR}/sof-imx-${PV}" 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 new file mode 100644 index 00000000..24619859 --- /dev/null +++ b/recipes-bsp/firmware-imx/imx-boot-firmware-files_8.23.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 = "(^$)" |