summaryrefslogtreecommitdiffstats
path: root/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb')
-rw-r--r--bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb69
1 files changed, 38 insertions, 31 deletions
diff --git a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
index 32d5aa28..0f13a08b 100644
--- a/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
+++ b/bsp/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_0.2.bb
@@ -1,4 +1,4 @@
-# Copyright 2017-2018 NXP
+# Copyright 2017-2019 NXP
require imx-mkimage_git.inc
@@ -7,14 +7,15 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"
-IMX_EXTRA_FIRMWARE = "firmware-imx-8 imx-sc-firmware"
+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_EXTRA_FIRMWARE_mx8x = "imx-sc-firmware imx-seco"
DEPENDS += " \
- u-boot \
firmware-imx \
${IMX_EXTRA_FIRMWARE} \
imx-atf \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os', '', d)} \
+ u-boot-mkimage-native \
"
DEPENDS_append_mx8m = " dtc-native"
BOOT_NAME = "imx-boot"
@@ -31,20 +32,18 @@ do_compile[depends] += " \
virtual/bootloader:do_deploy \
${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
imx-atf:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
"
SC_FIRMWARE_NAME ?= "scfw_tcm.bin"
ATF_MACHINE_NAME ?= "bl31-imx8qm.bin"
ATF_MACHINE_NAME_mx8qm = "bl31-imx8qm.bin"
-ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qxp.bin"
+ATF_MACHINE_NAME_mx8qxp = "bl31-imx8qx.bin"
ATF_MACHINE_NAME_mx8mq = "bl31-imx8mq.bin"
ATF_MACHINE_NAME_mx8mm = "bl31-imx8mm.bin"
-ATF_MACHINE_NAME_append = "${@bb.utils.contains('COMBINED_FEATURES', 'optee', '-optee', '', d)}"
-
-DCD_NAME ?= "imx8qm_dcd.cfg.tmp"
-DCD_NAME_mx8qm = "imx8qm_dcd.cfg.tmp"
-DCD_NAME_mx8qxp = "imx8qx_dcd.cfg.tmp"
+ATF_MACHINE_NAME_mx8mn = "bl31-imx8mn.bin"
+ATF_MACHINE_NAME_append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-optee', '', d)}"
UBOOT_NAME = "u-boot-${MACHINE}.bin-${UBOOT_CONFIG}"
BOOT_CONFIG_MACHINE = "${BOOT_NAME}-${MACHINE}-${UBOOT_CONFIG}.bin"
@@ -56,22 +55,18 @@ SOC_TARGET_mx8qm = "iMX8QM"
SOC_TARGET_mx8qxp = "iMX8QX"
SOC_TARGET_mx8mq = "iMX8M"
SOC_TARGET_mx8mm = "iMX8MM"
+SOC_TARGET_mx8mn = "iMX8MN"
+
+DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}"
IMXBOOT_TARGETS ?= \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
'flash flash_dcd', d), d)}"
-IMXBOOT_TARGETS_mx8qxp = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \
- bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand', \
- 'flash', d), d)}"
-IMXBOOT_TARGETS_mx8qxpa0 = \
- "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi_a0', \
- bb.utils.contains('UBOOT_CONFIG', 'nand', 'flash_nand_a0', \
- 'flash_a0 flash_dcd_a0', d), d)}"
BOOT_STAGING = "${S}/${SOC_TARGET}"
BOOT_STAGING_mx8mm = "${S}/iMX8M"
+BOOT_STAGING_mx8mn = "${S}/iMX8M"
SOC_FAMILY = "INVALID"
SOC_FAMILY_mx8 = "mx8"
@@ -79,16 +74,19 @@ SOC_FAMILY_mx8m = "mx8m"
SOC_FAMILY_mx8x = "mx8x"
compile_mx8m() {
- bbnote 8MQ/8MM boot binary build
+ bbnote 8MQ/8MM/8MN boot binary build
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
bbnote "Copy ddr_firmware: ${ddr_firmware} from ${DEPLOY_DIR_IMAGE} -> ${BOOT_STAGING} "
cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${BOOT_STAGING}
done
- cp ${DEPLOY_DIR_IMAGE}/signed_*_imx8m.bin ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${BOOT_STAGING}/u-boot-spl.bin
+ cp ${DEPLOY_DIR_IMAGE}/signed_dp_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/signed_hdmi_imx8m.bin ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${BOOT_STAGING}/u-boot-spl.bin
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin ${BOOT_STAGING}
- cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/mkimage_uboot ${BOOT_STAGING}
+ cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${BOOT_STAGING}/u-boot-nodtb.bin
+ cp ${STAGING_DIR_NATIVE}/${bindir}/mkimage ${BOOT_STAGING}/mkimage_uboot
cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
@@ -107,8 +105,13 @@ compile_mx8x() {
cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin
}
do_compile() {
+ # mkimage_uboot requires libssl.so.1.1 from ${STAGING_LIBDIR_NATIVE}
+ export LD_LIBRARY_PATH=${STAGING_LIBDIR_NATIVE}:$LD_LIBRARY_PATH
compile_${SOC_FAMILY}
# mkimage for i.MX8
+ if ${DEPLOY_OPTEE}; then
+ cp ${DEPLOY_DIR_IMAGE}/tee.bin ${BOOT_STAGING}
+ fi
for target in ${IMXBOOT_TARGETS}; do
bbnote "building ${SOC_TARGET} - ${target}"
make SOC=${SOC_TARGET} dtbs=${UBOOT_DTB_NAME} ${target}
@@ -127,34 +130,38 @@ do_install () {
deploy_mx8m() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \
+ ${DEPLOYDIR}/${BOOT_TOOLS}
for ddr_firmware in ${DDR_FIRMWARE_NAME}; do
install -m 0644 ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${DEPLOYDIR}/${BOOT_TOOLS}
done
- install -m 0644 ${DEPLOY_DIR_IMAGE}/signed_hdmi*.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_dp_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/signed_hdmi_imx8m.bin ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${BOOT_STAGING}/mkimage_fit_atf.sh ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0644 ${BOOT_STAGING}/mx8qm-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
deploy_mx8x() {
install -d ${DEPLOYDIR}/${BOOT_TOOLS}
- if [ "${MACHINE}" = "imx8qxpa0mek" ]; then
- install -m 0644 ${BOOT_STAGING}/${DCD_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
- fi
install -m 0644 ${BOOT_STAGING}/mx8qx-ahab-container.img ${DEPLOYDIR}/${BOOT_TOOLS}
install -m 0755 ${S}/${TOOLS_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
}
do_deploy() {
deploy_${SOC_FAMILY}
# copy the tool mkimage to deploy path and sc fw, dcd and uboot
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
+
+ # copy tee.bin to deploy path
+ if ${DEPLOY_OPTEE}; then
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/tee.bin ${DEPLOYDIR}/${BOOT_TOOLS}
+ fi
+
# copy makefile (soc.mak) for reference
- install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
+ install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS}
# copy the generated boot image to deploy path
for target in ${IMXBOOT_TARGETS}; do
# Use first "target" as IMAGE_IMXBOOT_TARGET