From 570e9d521cece6eaa5e52aeb37e2e14d939a98b7 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Thu, 18 Apr 2019 12:03:26 +0200 Subject: firmware-imx: update to 8.0 This is a copy from meta-freescale of the 7.8 recipes updated to firmware-imx-8.0. Signed-off-by: Max Krummenacher --- recipes-bsp/firmware-imx/firmware-imx-8.0.inc | 18 ++++ recipes-bsp/firmware-imx/firmware-imx-8_8.0.bb | 25 ++++++ recipes-bsp/firmware-imx/firmware-imx-8m_8.0.bb | 24 ++++++ recipes-bsp/firmware-imx/firmware-imx-8x_8.0.bb | 20 +++++ recipes-bsp/firmware-imx/firmware-imx_8.0.bb | 106 ++++++++++++++++++++++++ 5 files changed, 193 insertions(+) create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.0.inc create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8_8.0.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8m_8.0.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8x_8.0.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.0.bb (limited to 'recipes-bsp/firmware-imx') diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.0.inc b/recipes-bsp/firmware-imx/firmware-imx-8.0.inc new file mode 100644 index 0000000..872a4a1 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8.0.inc @@ -0,0 +1,18 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017-2018 NXP +# Copyright (C) 2018 O.S. Systems Software LTDA. +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=6dfb32a488e5fd6bae52fbf6c7ebb086" + +SRCBRANCH ?= "master" +SRC_URI = " \ + ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ +" + +SRC_URI[md5sum] = "b8ae7cdd2a648168f1c90471ca87f6ba" +SRC_URI[sha256sum] = "63ec62f5d229cbed00918c8449173933f1c9d594c59396b8dd217e94f47138b0" + +S = "${WORKDIR}/firmware-imx-${PV}" + +inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.0.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.0.bb new file mode 100644 index 0000000..d99aa41 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8_8.0.bb @@ -0,0 +1,25 @@ +# Copyright 2018 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} + # SECO + install -m 0644 ${S}/firmware/seco/mx8qm-ahab-container.img ${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.0.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.0.bb new file mode 100644 index 0000000..a605d22 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8m_8.0.bb @@ -0,0 +1,24 @@ +# Copyright 2018 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/recipes-bsp/firmware-imx/firmware-imx-8x_8.0.bb b/recipes-bsp/firmware-imx/firmware-imx-8x_8.0.bb new file mode 100644 index 0000000..85d394a --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8x_8.0.bb @@ -0,0 +1,20 @@ +# Copyright 2018 NXP +SUMMARY = "Freescale i.MX firmware for 8X family" +DESCRIPTION = "Freescale i.MX firmware for 8X family" + +require firmware-imx-${PV}.inc + +inherit deploy + +do_install[noexec] = "1" + +do_deploy() { + # SECO + install -m 0644 ${S}/firmware/seco/mx8qx-ahab-container.img ${DEPLOYDIR} +} + +addtask deploy after do_install before do_build + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" + +COMPATIBLE_MACHINE = "(mx8x)" diff --git a/recipes-bsp/firmware-imx/firmware-imx_8.0.bb b/recipes-bsp/firmware-imx/firmware-imx_8.0.bb new file mode 100644 index 0000000..bf0fbc3 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx_8.0.bb @@ -0,0 +1,106 @@ +# 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" + +SRC_URI += " \ + git://github.com/NXP/imx-firmware.git;protocol=https;branch=${SRCBRANCH};destsuffix=${S}/git \ +" +SRCREV = "8ce9046f5058fdd2c5271f86ccfc61bc5a248ae3" + +inherit allarch + +do_install() { + install -d ${D}${base_libdir}/firmware/imx + install -d ${D}${base_libdir}/firmware/bcm + 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 - + + #1BW_BCM43340 + install -d ${D}${base_libdir}/firmware/bcm/1BW_BCM43340 + cp -rfv git/brcm/1BW_BCM43340/*.bin ${D}${base_libdir}/firmware/bcm/1BW_BCM43340 + cp -rfv git/brcm/1BW_BCM43340/*.cal ${D}${base_libdir}/firmware/bcm/1BW_BCM43340 + cp -rfv git/brcm/1BW_BCM43340/*.hcd ${D}${sysconfdir}/firmware/ + + #1CX_BCM4356 + install -d ${D}${base_libdir}/firmware/bcm/1CX_BCM4356 + cp -rfv git/brcm/1CX_BCM4356/fw_bcmdhd.bin ${D}${base_libdir}/firmware/bcm/1CX_BCM4356 + + #1DX_BCM4343W + install -d ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W + cp -rfv git/brcm/1DX_BCM4343W/*.bin ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W + cp -rfv git/brcm/1DX_BCM4343W/*.cal ${D}${base_libdir}/firmware/bcm/1DX_BCM4343W + cp -rfv git/brcm/1DX_BCM4343W/*.hcd ${D}${sysconfdir}/firmware/ + + #1FD_BCM89359 + install -d ${D}${base_libdir}/firmware/bcm/1FD_BCM89359 + cp -rfv git/brcm/1FD_BCM89359/*.bin ${D}${base_libdir}/firmware/bcm/1FD_BCM89359 + cp -rfv git/brcm/1FD_BCM89359/*.hcd ${D}${sysconfdir}/firmware/ + + #SN8000_BCM43362 + install -d ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362 + cp -rfv git/brcm/SN8000_BCM43362/*.bin ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362 + cp -rfv git/brcm/SN8000_BCM43362/*.cal ${D}${base_libdir}/firmware/bcm/SN8000_BCM43362 + cp -rfv git/brcm/1DX_BCM4343W/*.hcd ${D}${sysconfdir}/firmware/ + + #ZP_BCM4339 + install -d ${D}${base_libdir}/firmware/bcm/ZP_BCM4339 + cp -rfv git/brcm/ZP_BCM4339/*.bin ${D}${base_libdir}/firmware/bcm/ZP_BCM4339 + cp -rfv git/brcm/ZP_BCM4339/*.cal ${D}${base_libdir}/firmware/bcm/ZP_BCM4339 + cp -rfv git/brcm/ZP_BCM4339/*.hcd ${D}${sysconfdir}/firmware/ + + 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 + + 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/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}-epdc ${PN}-brcm ${PN}-scfw" + +FILES_${PN}-epdc = "${base_libdir}/firmware/imx/epdc/" +FILES_${PN}-brcm = "${base_libdir}/firmware/bcm/*/*.bin ${base_libdir}/firmware/bcm/*/*.cal ${sysconfdir}/firmware/" +FILES_${PN}-scfw = "${base_libdir}/firmware/scfw/" + +COMPATIBLE_MACHINE = "(imx)" -- cgit v1.2.3