diff options
Diffstat (limited to 'recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb')
-rw-r--r-- | recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb b/recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb new file mode 100644 index 0000000..4d4b479 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb @@ -0,0 +1,72 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2018 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}${base_libdir}/firmware/imx + install -d ${D}${sysconfdir}/firmware + + cd firmware + for d in *; do + case $d in + ddr|hdmi|seco) + # These folders are for i.MX 8 and are included in the boot image via imx-boot + bbnote Excluding folder $d + ;; + *) + cp -rfv $d ${D}${base_libdir}/firmware + ;; + esac + done + cd - + + #the sdma firmware is expected in ${D}${base_libdir}/firmware/imx/sdma + mv ${D}${base_libdir}/firmware/sdma ${D}${base_libdir}/firmware/imx/sdma + + mv ${D}${base_libdir}/firmware/epdc/ ${D}${base_libdir}/firmware/imx/epdc/ + mv ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted ${D}${base_libdir}/firmware/imx/epdc/epdc_ED060XH2C1.fw + + mv ${D}${base_libdir}/firmware/easrc/ ${D}${base_libdir}/firmware/imx/easrc/ + + find ${D}${base_libdir}/firmware -type f -exec chmod 644 '{}' ';' + find ${D}${base_libdir}/firmware -type f -exec chown root:root '{}' ';' + + # Remove files not going to be installed + find ${D}${base_libdir}/firmware/ -name '*.mk' -exec rm '{}' ';' +} + +python populate_packages_prepend() { + vpudir = bb.data.expand('${base_libdir}/firmware/vpu', d) + do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin', + output_pattern='firmware-imx-vpu-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) + + sdmadir = bb.data.expand('${base_libdir}/firmware/imx/sdma', d) + do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin', + output_pattern='firmware-imx-sdma-%s', + description='Freescale IMX Firmware %s', + extra_depends='', + prepend=True) +} + +ALLOW_EMPTY_${PN} = "1" + +PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*" + +PACKAGES =+ "${PN}-easrc ${PN}-epdc ${PN}-scfw" + +FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/" +FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/" +FILES_${PN}-easrc = "${base_libdir}/firmware/imx/easrc/" + +COMPATIBLE_MACHINE = "(imx)" |