summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/use-imx-security-controller-firmware.bbclass36
-rw-r--r--recipes-bsp/imx-seco/imx-seco-libs_git.bb24
-rw-r--r--recipes-bsp/imx-seco/imx-seco_2.3.1.bb30
-rw-r--r--recipes-bsp/imx-seco/imx-seco_3.6.3.bb26
4 files changed, 86 insertions, 30 deletions
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 @@
1#
2# Class to provide a possibility to re-use names of Security Controller (SECO)
3# Firmware files, which are required by certain derivatives on i.MX8 family.
4#
5# SECO Firmware names are used by imx-boot and imx-seco recipes, therefore
6# their respective definitions are moved into a separate class, which is
7# inherited by both recipes.
8#
9# Currently, only 'mx8m' family does not require SECO FW to be provided in the
10# target image, therefore as a first step - the machine override is verified
11# if it matches, and then derivative is taken.
12#
13# NOTE: SECO_FIRMWARE_NAME defaults to empty string, and is verified against
14# the family first. If a derivative in the family does not have a firmware name
15# set in this class - recipe parsing is stopped.
16# This behavior ensures that derivatives which requires SECO Firmware to be
17# present in the image file have it properly defined.
18
19SECO_FIRMWARE_NAME ?= ""
20
21SECO_FIRMWARE_NAME_mx8qm = "mx8qmb0-ahab-container.img"
22SECO_FIRMWARE_NAME_mx8qxp = "mx8qxb0-ahab-container.img"
23SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img"
24SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxb0-ahab-container.img"
25SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img"
26
27python () {
28 if "mx8m" in d.getVar('MACHINEOVERRIDES').split(":"):
29 return # We need to allow the recipes to be parsed for this case
30
31 seco_firmware = d.getVar('SECO_FIRMWARE_NAME')
32 if not seco_firmware:
33 raise bb.parse.SkipRecipe("This SoC requires 'SECO_FIRMWARE_NAME', define it in 'use-imx-security-controller-firmware' bbclass")
34}
35
36PACKAGE_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 @@
1# Copyright (C) 2019-2020 NXP
2
3SUMMARY = "NXP i.MX SECO library"
4DESCRIPTION = "NXP IMX SECO library"
5SECTION = "base"
6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9"
8
9DEPENDS = "zlib"
10
11SRCBRANCH = "imx_5.4.24_2.1.0"
12SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH}"
13SRCREV = "a4faaa474e49fa0d3668db466739834fe45a6767"
14
15S = "${WORKDIR}/git"
16
17TARGET_CC_ARCH += "${LDFLAGS}"
18
19do_install () {
20 oe_runmake DESTDIR=${D} install
21}
22
23COMPATIBLE_MACHINE = "(mx8)"
24COMPATIBLE_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 @@
1# Copyright 2019 NXP
2
3SUMMARY = "NXP i.MX SECO firmware"
4DESCRIPTION = "NXP IMX SECO firmware"
5SECTION = "base"
6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44"
8
9inherit fsl-eula-unpack deploy
10
11SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true "
12
13SRC_URI[md5sum] = "cf8d6bbf93f0aa6e1049f1098a0f7e0f"
14SRC_URI[sha256sum] = "b429ac58b2ea1771b3fdf7ae87bf1d37ccaf596bde01a5ecccae27b2145f6824"
15
16do_compile[noexec] = "1"
17
18do_install[noexec] = "1"
19
20SECO_FIRMWARE_NAME ?= "mx8qm-ahab-container.img"
21SECO_FIRMWARE_NAME_mx8qm = "mx8qm-ahab-container.img"
22SECO_FIRMWARE_NAME_mx8x = "mx8qx-ahab-container.img"
23
24addtask deploy after do_install
25do_deploy () {
26 # Deploy i.MX8 SECO firmware files
27 install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
28}
29
30COMPATIBLE_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 @@
1# Copyright (C) 2019-2020 NXP
2
3SUMMARY = "NXP i.MX SECO firmware"
4DESCRIPTION = "NXP IMX SECO firmware"
5SECTION = "base"
6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
8
9inherit fsl-eula-unpack use-imx-security-controller-firmware deploy
10
11SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
12
13SRC_URI[md5sum] = "22a47e14e3f2e713b4b1b2b7ff768b11"
14SRC_URI[sha256sum] = "52ba07633e0f8707d8c26724b5cd03ef96444c8de1e0e134acac50acacf3e7dd"
15
16do_compile[noexec] = "1"
17
18do_install[noexec] = "1"
19
20addtask deploy after do_install
21do_deploy () {
22 # Deploy i.MX8 SECO firmware files
23 install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR}
24}
25
26COMPATIBLE_MACHINE = "(mx8qm|mx8qxp|mx8qxpc0|mx8phantomdxl|mx8dxl)"