From 78802e3ecd139a5031c06821526f249e060894c1 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 17 Feb 2020 19:37:29 +0100 Subject: firmware: update to 4.14.98 2.3.1 The seco firmware is now split out of firmware-imx. The seco firmware has now a i.MX8X B0 and C0 silicon version. Related-to: ELB-2351 Signed-off-by: Max Krummenacher --- conf/machine/apalis-imx8x.conf | 1 + conf/machine/colibri-imx8x.conf | 1 + recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc | 18 ---- recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc | 17 ++++ recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb | 25 ----- recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb | 23 +++++ recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb | 24 ----- recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb | 24 +++++ recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb | 20 ---- recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb | 109 ---------------------- recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb | 72 ++++++++++++++ recipes-bsp/imx-mkimage/imx-boot_%.bbappend | 58 ++++++++++-- recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend | 18 +++- recipes-bsp/imx-seco/imx-seco_2.5.6.bb | 35 +++++++ 14 files changed, 241 insertions(+), 204 deletions(-) delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb delete mode 100644 recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb delete mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb create mode 100644 recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb create mode 100644 recipes-bsp/imx-seco/imx-seco_2.5.6.bb diff --git a/conf/machine/apalis-imx8x.conf b/conf/machine/apalis-imx8x.conf index 726a0aa..d2abc60 100644 --- a/conf/machine/apalis-imx8x.conf +++ b/conf/machine/apalis-imx8x.conf @@ -5,6 +5,7 @@ MACHINE_NAME = "Apalis-iMX8X" +# for C0 silicon add mx8qxpc0 to the right of mx8qxp MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" require conf/machine/include/imx-base.inc diff --git a/conf/machine/colibri-imx8x.conf b/conf/machine/colibri-imx8x.conf index 151513f..2686edd 100644 --- a/conf/machine/colibri-imx8x.conf +++ b/conf/machine/colibri-imx8x.conf @@ -5,6 +5,7 @@ MACHINE_NAME = "Colibri-iMX8X" +# for C0 silicon add mx8qxpc0 to the right of mx8qxp MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" require conf/machine/include/imx-base.inc diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc b/recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc deleted file mode 100644 index 3231b49..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc +++ /dev/null @@ -1,18 +0,0 @@ -# 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=fb0303e4ee8b0e71c094171e2272bd44" - -SRCBRANCH ?= "master" -SRC_URI = " \ - ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ -" - -SRC_URI[md5sum] = "b494c9a2ba9f8906de73ac33068789a2" -SRC_URI[sha256sum] = "c115d5d0d115fc14754671bd2428f672f9f99677988588accef2fbca2c3f749c" - -S = "${WORKDIR}/firmware-imx-${PV}" - -inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc b/recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc new file mode 100644 index 0000000..a2fa611 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc @@ -0,0 +1,17 @@ +# 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=fd4b227530cd88a82af6a5982cfb724d" + +SRC_URI = " \ + ${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \ +" + +SRC_URI[md5sum] = "70bdefdd7fb58f782237acf4c648f5cd" +SRC_URI[sha256sum] = "f04b2deb4f126e6b6cd4460462292acd72183b9f799e3b873fb390ff0f18eb55" + +S = "${WORKDIR}/firmware-imx-${PV}" + +inherit fsl-eula-unpack diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb deleted file mode 100644 index d99aa41..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb +++ /dev/null @@ -1,25 +0,0 @@ -# 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-8_8.4.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb new file mode 100644 index 0000000..64fa288 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb @@ -0,0 +1,23 @@ +# 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} +} +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.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb deleted file mode 100644 index a605d22..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb +++ /dev/null @@ -1,24 +0,0 @@ -# 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-8m_8.4.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb new file mode 100644 index 0000000..a605d22 --- /dev/null +++ b/recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.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.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb deleted file mode 100644 index 85d394a..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb +++ /dev/null @@ -1,20 +0,0 @@ -# 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.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb deleted file mode 100644 index 4e72baa..0000000 --- a/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb +++ /dev/null @@ -1,109 +0,0 @@ -# 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 - - - #the sdma firmware is expected in ${D}${base_libdir}/firmware/imx/sdma - mv ${D}${base_libdir}/firmware/sdma ${D}${base_libdir}/firmware/imx/sdma - - #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/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}-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)" 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)" diff --git a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend b/recipes-bsp/imx-mkimage/imx-boot_%.bbappend index db891fc..2a840cb 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_%.bbappend +++ b/recipes-bsp/imx-mkimage/imx-boot_%.bbappend @@ -1,6 +1,27 @@ ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qx.bin" -SRCBRANCH = "imx_4.14.98_2.0.0_ga" -SRCREV = "dd0234001713623c79be92b60fa88bc07b07f24f" +ATF_MACHINE_NAME_mx8mn = "bl31-imx8mn.bin" + +SECO_CHIP ?= "qmb0" +SECO_CHIP_mx8qxp = "qxb0" +SECO_CHIP_imx8qxpc0mek = "qxc0" +SECO_CHIP_imx8qxpc0lpddr4arm2 = "qxc0" +SECO_CHIP_mx8qxpc0 = "qxc0" + +SECO_FIRMWARE = "mx8${SECO_CHIP}-ahab-container.img" + +SOC_TARGET_mx8mn = "iMX8MN" + +SRCBRANCH = "imx_4.14.98_2.3.0" +SRCREV = "d7f9440dd5c050cc22cb362d53d4048e689a0c01" + +REV_CHIP ?= "B0" +REV_CHIP_imx8qxpc0mek = "C0" +REV_CHIP_imx8qxpc0lpddr4arm2 = "C0" +REV_CHIP_mx8qxpc0 = "C0" + +IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware imx-seco" +IMX_EXTRA_FIRMWARE_mx8m = "firmware-imx-8m" +IMX_EXTRA_FIRMWARE_mx8x = "firmware-imx-8x imx-sc-firmware imx-seco" compile_mx8m() { bbnote 8MQ/8MM boot binary build @@ -16,13 +37,38 @@ compile_mx8m() { cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin } +compile_mx8() { + bbnote 8QM boot binary build + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin + cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE} ${BOOT_STAGING} +} +compile_mx8x() { + bbnote 8QX boot binary build + cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE} ${BOOT_STAGING} + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin +} +do_compile() { + compile_${SOC_FAMILY} + # mkimage for i.MX8 + for target in ${IMXBOOT_TARGETS}; do + bbnote "building ${SOC_TARGET} - ${target}" + make SOC=${SOC_TARGET} REV=${REV_CHIP} dtbs=${UBOOT_DTB_NAME} ${target} + if [ -e "${BOOT_STAGING}/flash.bin" ]; then + cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE}-${target} + fi + done +} deploy_mx8() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0644 ${BOOT_STAGING}/mx8qm-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} } deploy_mx8x() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0644 ${BOOT_STAGING}/mx8qx-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS} - install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/${SECO_FIRMWARE} ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} } diff --git a/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend b/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend index 636494f..da59113 100644 --- a/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend +++ b/recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend @@ -1,2 +1,16 @@ -SRCBRANCH = "imx_4.14.98_2.0.0_ga" -SRCREV = "dd0234001713623c79be92b60fa88bc07b07f24f" +SRCBRANCH = "imx_4.14.98_2.3.0" +SRCREV = "d7f9440dd5c050cc22cb362d53d4048e689a0c01" + +REV_CHIP ?= "B0" +REV_CHIP_imx8qxpc0mek = "C0" +REV_CHIP_imx8qxpc0lpddr4arm2 = "C0" +REV_CHIP_mx8qxpc0 = "C0" + +do_compile () { + cd ${S} + oe_runmake clean + oe_runmake bin + oe_runmake -C iMX8M -f soc.mak mkimage_imx8 + oe_runmake -C iMX8QM REV=${REV_CHIP} -f soc.mak imx8qm_dcd.cfg.tmp + oe_runmake -C iMX8QX REV=${REV_CHIP} -f soc.mak imx8qx_dcd.cfg.tmp +} diff --git a/recipes-bsp/imx-seco/imx-seco_2.5.6.bb b/recipes-bsp/imx-seco/imx-seco_2.5.6.bb new file mode 100644 index 0000000..eb2b55b --- /dev/null +++ b/recipes-bsp/imx-seco/imx-seco_2.5.6.bb @@ -0,0 +1,35 @@ +# Copyright 2019 NXP + +SUMMARY = "NXP i.MX SECO firmware" +DESCRIPTION = "NXP IMX SECO firmware" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d" + +inherit fsl-eula-unpack deploy + +SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true " + +SRC_URI[md5sum] = "b0e0e358f02b7030b57f9eca6a22cf3d" +SRC_URI[sha256sum] = "e18ce97a7ae0878c708393c6e65aaad86508d642ef4fd1b3ad9930287cc96294" + +do_compile[noexec] = "1" + +do_install[noexec] = "1" + +SECO_CHIP ?= "qmb0" +SECO_CHIP_mx8qxp = "qxb0" +SECO_CHIP_imx8qxpc0mek = "qxc0" +SECO_CHIP_imx8qxpc0lpddr4arm2 = "qxc0" +SECO_CHIP_mx8qxpc0 = "qxc0" + +SECO_FIRMWARE_NAME = "mx8${SECO_CHIP}-ahab-container.img" + +addtask deploy after do_install +do_deploy () { + # Deploy i.MX8 SECO firmware files + install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} +} + + +COMPATIBLE_MACHINE = "(mx8qm|mx8qxp)" -- cgit v1.2.3