summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2020-02-17 19:37:29 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2020-03-12 19:06:46 +0100
commit78802e3ecd139a5031c06821526f249e060894c1 (patch)
tree502ce8a806046b1809e86051b24024d521a16c6d
parentb4a20babea319d117614e3885d1d28a3b1a5766f (diff)
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 <max.krummenacher@toradex.com>
-rw-r--r--conf/machine/apalis-imx8x.conf1
-rw-r--r--conf/machine/colibri-imx8x.conf1
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc (renamed from recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc)7
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb (renamed from recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb)2
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb (renamed from recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb)0
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx-8x_8.1.1.bb20
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb (renamed from recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb)45
-rw-r--r--recipes-bsp/imx-mkimage/imx-boot_%.bbappend58
-rw-r--r--recipes-bsp/imx-mkimage/imx-mkimage_git.bbappend18
-rw-r--r--recipes-bsp/imx-seco/imx-seco_2.5.6.bb35
10 files changed, 112 insertions, 75 deletions
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.4.1.inc
index 3231b49..a2fa611 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8.1.1.inc
+++ b/recipes-bsp/firmware-imx/firmware-imx-8.4.1.inc
@@ -3,15 +3,14 @@
# Copyright (C) 2018 O.S. Systems Software LTDA.
SECTION = "base"
LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fd4b227530cd88a82af6a5982cfb724d"
-SRCBRANCH ?= "master"
SRC_URI = " \
${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true \
"
-SRC_URI[md5sum] = "b494c9a2ba9f8906de73ac33068789a2"
-SRC_URI[sha256sum] = "c115d5d0d115fc14754671bd2428f672f9f99677988588accef2fbca2c3f749c"
+SRC_URI[md5sum] = "70bdefdd7fb58f782237acf4c648f5cd"
+SRC_URI[sha256sum] = "f04b2deb4f126e6b6cd4460462292acd72183b9f799e3b873fb390ff0f18eb55"
S = "${WORKDIR}/firmware-imx-${PV}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb
index d99aa41..64fa288 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8_8.1.1.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx-8_8.4.1.bb
@@ -13,8 +13,6 @@ do_deploy() {
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
diff --git a/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb b/recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb
index a605d22..a605d22 100644
--- a/recipes-bsp/firmware-imx/firmware-imx-8m_8.1.1.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx-8m_8.4.1.bb
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.4.1.bb
index 4e72baa..4d4b479 100644
--- a/recipes-bsp/firmware-imx/firmware-imx_8.1.1.bb
+++ b/recipes-bsp/firmware-imx/firmware-imx_8.4.1.bb
@@ -8,16 +8,10 @@ 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
@@ -37,42 +31,11 @@ do_install() {
#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
+ 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 '{}' ';'
@@ -100,10 +63,10 @@ ALLOW_EMPTY_${PN} = "1"
PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
-PACKAGES =+ "${PN}-epdc ${PN}-brcm ${PN}-scfw"
+PACKAGES =+ "${PN}-easrc ${PN}-epdc ${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/"
+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)"