From: Andrey Zhizhikin Date: Tue, 18 Aug 2020 20:21:24 +0000 (+0000) Subject: imx-seco: upgrade to version 3.6.3 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=fd5be8110f7fcbc55994e2db67682a7aa1f2001b;p=meta-freescale.git imx-seco: upgrade to version 3.6.3 Upstream version has been bumped up, update the recipe to match it. SECO FW name is picked up from the machine definition, as it is now defined in a separate bbclass which allows FW names to be set based on machine's SoC. Signed-off-by: Andrey Zhizhikin (cherry picked from commit da4b4663ac9a6cb6c592ce96d5011345013fd839) --- diff --git a/classes/use-imx-security-controller-firmware.bbclass b/classes/use-imx-security-controller-firmware.bbclass new file mode 100644 index 00000000..7b82bcaf --- /dev/null +++ b/classes/use-imx-security-controller-firmware.bbclass @@ -0,0 +1,36 @@ +# +# Class to provide a possibility to re-use names of Security Controller (SECO) +# Firmware files, which are required by certain derivatives on i.MX8 family. +# +# SECO Firmware names are used by imx-boot and imx-seco recipes, therefore +# their respective definitions are moved into a separate class, which is +# inherited by both recipes. +# +# Currently, only 'mx8m' family does not require SECO FW to be provided in the +# target image, therefore as a first step - the machine override is verified +# if it matches, and then derivative is taken. +# +# NOTE: SECO_FIRMWARE_NAME defaults to empty string, and is verified against +# the family first. If a derivative in the family does not have a firmware name +# set in this class - recipe parsing is stopped. +# This behavior ensures that derivatives which requires SECO Firmware to be +# present in the image file have it properly defined. + +SECO_FIRMWARE_NAME ?= "" + +SECO_FIRMWARE_NAME_mx8qm = "mx8qmb0-ahab-container.img" +SECO_FIRMWARE_NAME_mx8qxp = "mx8qxb0-ahab-container.img" +SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img" +SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxb0-ahab-container.img" +SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img" + +python () { + if "mx8m" in d.getVar('MACHINEOVERRIDES').split(":"): + return # We need to allow the recipes to be parsed for this case + + seco_firmware = d.getVar('SECO_FIRMWARE_NAME') + if not seco_firmware: + raise bb.parse.SkipRecipe("This SoC requires 'SECO_FIRMWARE_NAME', define it in 'use-imx-security-controller-firmware' bbclass") +} + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" diff --git a/recipes-bsp/imx-seco/imx-seco-libs_git.bb b/recipes-bsp/imx-seco/imx-seco-libs_git.bb new file mode 100644 index 00000000..f292dedd --- /dev/null +++ b/recipes-bsp/imx-seco/imx-seco-libs_git.bb @@ -0,0 +1,24 @@ +# Copyright (C) 2019-2020 NXP + +SUMMARY = "NXP i.MX SECO library" +DESCRIPTION = "NXP IMX SECO library" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9" + +DEPENDS = "zlib" + +SRCBRANCH = "imx_5.4.24_2.1.0" +SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH}" +SRCREV = "a4faaa474e49fa0d3668db466739834fe45a6767" + +S = "${WORKDIR}/git" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install () { + oe_runmake DESTDIR=${D} install +} + +COMPATIBLE_MACHINE = "(mx8)" +COMPATIBLE_MACHINE_mx8m = "(^$)" diff --git a/recipes-bsp/imx-seco/imx-seco_2.3.1.bb b/recipes-bsp/imx-seco/imx-seco_2.3.1.bb deleted file mode 100644 index b86ea0b6..00000000 --- a/recipes-bsp/imx-seco/imx-seco_2.3.1.bb +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2019 NXP - -SUMMARY = "NXP i.MX SECO firmware" -DESCRIPTION = "NXP IMX SECO firmware" -SECTION = "base" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44" - -inherit fsl-eula-unpack deploy - -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true " - -SRC_URI[md5sum] = "cf8d6bbf93f0aa6e1049f1098a0f7e0f" -SRC_URI[sha256sum] = "b429ac58b2ea1771b3fdf7ae87bf1d37ccaf596bde01a5ecccae27b2145f6824" - -do_compile[noexec] = "1" - -do_install[noexec] = "1" - -SECO_FIRMWARE_NAME ?= "mx8qm-ahab-container.img" -SECO_FIRMWARE_NAME_mx8qm = "mx8qm-ahab-container.img" -SECO_FIRMWARE_NAME_mx8x = "mx8qx-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|mx8x)" diff --git a/recipes-bsp/imx-seco/imx-seco_3.6.3.bb b/recipes-bsp/imx-seco/imx-seco_3.6.3.bb new file mode 100644 index 00000000..144125f8 --- /dev/null +++ b/recipes-bsp/imx-seco/imx-seco_3.6.3.bb @@ -0,0 +1,26 @@ +# Copyright (C) 2019-2020 NXP + +SUMMARY = "NXP i.MX SECO firmware" +DESCRIPTION = "NXP IMX SECO firmware" +SECTION = "base" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" + +inherit fsl-eula-unpack use-imx-security-controller-firmware deploy + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "22a47e14e3f2e713b4b1b2b7ff768b11" +SRC_URI[sha256sum] = "52ba07633e0f8707d8c26724b5cd03ef96444c8de1e0e134acac50acacf3e7dd" + +do_compile[noexec] = "1" + +do_install[noexec] = "1" + +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|mx8qxpc0|mx8phantomdxl|mx8dxl)"