diff options
-rw-r--r-- | classes/use-imx-security-controller-firmware.bbclass | 36 | ||||
-rw-r--r-- | recipes-bsp/imx-seco/imx-seco-libs_git.bb | 24 | ||||
-rw-r--r-- | recipes-bsp/imx-seco/imx-seco_2.3.1.bb | 30 | ||||
-rw-r--r-- | recipes-bsp/imx-seco/imx-seco_3.6.3.bb | 26 |
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 | |||
19 | SECO_FIRMWARE_NAME ?= "" | ||
20 | |||
21 | SECO_FIRMWARE_NAME_mx8qm = "mx8qmb0-ahab-container.img" | ||
22 | SECO_FIRMWARE_NAME_mx8qxp = "mx8qxb0-ahab-container.img" | ||
23 | SECO_FIRMWARE_NAME_mx8qxpc0 = "mx8qxc0-ahab-container.img" | ||
24 | SECO_FIRMWARE_NAME_mx8phantomdxl = "mx8qxb0-ahab-container.img" | ||
25 | SECO_FIRMWARE_NAME_mx8dxl = "mx8dxla0-ahab-container.img" | ||
26 | |||
27 | python () { | ||
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 | |||
36 | 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 @@ | |||
1 | # Copyright (C) 2019-2020 NXP | ||
2 | |||
3 | SUMMARY = "NXP i.MX SECO library" | ||
4 | DESCRIPTION = "NXP IMX SECO library" | ||
5 | SECTION = "base" | ||
6 | LICENSE = "Proprietary" | ||
7 | LIC_FILES_CHKSUM = "file://EULA.txt;md5=228c72f2a91452b8a03c4cab30f30ef9" | ||
8 | |||
9 | DEPENDS = "zlib" | ||
10 | |||
11 | SRCBRANCH = "imx_5.4.24_2.1.0" | ||
12 | SRC_URI = "git://github.com/NXP/imx-seco-libs.git;protocol=https;branch=${SRCBRANCH}" | ||
13 | SRCREV = "a4faaa474e49fa0d3668db466739834fe45a6767" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
18 | |||
19 | do_install () { | ||
20 | oe_runmake DESTDIR=${D} install | ||
21 | } | ||
22 | |||
23 | COMPATIBLE_MACHINE = "(mx8)" | ||
24 | 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 @@ | |||
1 | # Copyright 2019 NXP | ||
2 | |||
3 | SUMMARY = "NXP i.MX SECO firmware" | ||
4 | DESCRIPTION = "NXP IMX SECO firmware" | ||
5 | SECTION = "base" | ||
6 | LICENSE = "Proprietary" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=fb0303e4ee8b0e71c094171e2272bd44" | ||
8 | |||
9 | inherit fsl-eula-unpack deploy | ||
10 | |||
11 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true " | ||
12 | |||
13 | SRC_URI[md5sum] = "cf8d6bbf93f0aa6e1049f1098a0f7e0f" | ||
14 | SRC_URI[sha256sum] = "b429ac58b2ea1771b3fdf7ae87bf1d37ccaf596bde01a5ecccae27b2145f6824" | ||
15 | |||
16 | do_compile[noexec] = "1" | ||
17 | |||
18 | do_install[noexec] = "1" | ||
19 | |||
20 | SECO_FIRMWARE_NAME ?= "mx8qm-ahab-container.img" | ||
21 | SECO_FIRMWARE_NAME_mx8qm = "mx8qm-ahab-container.img" | ||
22 | SECO_FIRMWARE_NAME_mx8x = "mx8qx-ahab-container.img" | ||
23 | |||
24 | addtask deploy after do_install | ||
25 | do_deploy () { | ||
26 | # Deploy i.MX8 SECO firmware files | ||
27 | install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} | ||
28 | } | ||
29 | |||
30 | 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 @@ | |||
1 | # Copyright (C) 2019-2020 NXP | ||
2 | |||
3 | SUMMARY = "NXP i.MX SECO firmware" | ||
4 | DESCRIPTION = "NXP IMX SECO firmware" | ||
5 | SECTION = "base" | ||
6 | LICENSE = "Proprietary" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" | ||
8 | |||
9 | inherit fsl-eula-unpack use-imx-security-controller-firmware deploy | ||
10 | |||
11 | SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" | ||
12 | |||
13 | SRC_URI[md5sum] = "22a47e14e3f2e713b4b1b2b7ff768b11" | ||
14 | SRC_URI[sha256sum] = "52ba07633e0f8707d8c26724b5cd03ef96444c8de1e0e134acac50acacf3e7dd" | ||
15 | |||
16 | do_compile[noexec] = "1" | ||
17 | |||
18 | do_install[noexec] = "1" | ||
19 | |||
20 | addtask deploy after do_install | ||
21 | do_deploy () { | ||
22 | # Deploy i.MX8 SECO firmware files | ||
23 | install -m 0644 ${S}/firmware/seco/${SECO_FIRMWARE_NAME} ${DEPLOYDIR} | ||
24 | } | ||
25 | |||
26 | COMPATIBLE_MACHINE = "(mx8qm|mx8qxp|mx8qxpc0|mx8phantomdxl|mx8dxl)" | ||