From 2db7047ba40efed4d9e7c86c63d71158d974e297 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Mon, 19 Aug 2024 10:28:08 -0700 Subject: imx-boot: Fix 8M multi-config build problems Building in the NXP layer meta-imx with the latest imx-boot recipe, the dtb is not found during mkimage build: ``` | NOTE: building iMX8MP - TEE=tee.bin-stmm flash_evk_stmm_capsule | dtc -@ -I dts -O dtb -o signature.dtbo signature.dts | fdtoverlay -i imx8mp-evk.dtb -o imx8mp-evk.dtb signature.dtbo | Couldn't open blob from 'imx8mp-evk.dtb': No such file or directory ``` The problem is the recipe does now copy the dtb from u-boot-imx with a config-adorned name, e.g., imx8mp-evk.dtb-sd, but mkimage is still expecting imx8mp-evk.dtb. Add a link for compatibility. Signed-off-by: Tom Hochstein --- recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 3f5b2c65d..7013d6d1f 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -101,17 +101,19 @@ compile_mx8m() { if [ "x${UBOOT_SIGN_ENABLE}" = "x1" ] ; then # Use DTB binary patched with signature node - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA} + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_DTB_BINARY} ${BOOT_STAGING}/${UBOOT_DTB_NAME_EXTRA} else - cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING} + cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME_EXTRA} \ + ${BOOT_STAGING} fi + ln -sf ${UBOOT_DTB_NAME_EXTRA} ${BOOT_STAGING}/${UBOOT_DTB_NAME} cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG_EXTRA} \ ${BOOT_STAGING}/u-boot-nodtb.bin cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin - cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin + cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME_EXTRA} ${BOOT_STAGING}/u-boot.bin } -- cgit v1.2.3-54-g00ecf From 9cbfa8f33730e59e8be810ecdd3967738b07380a Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Tue, 20 Aug 2024 12:43:40 -0700 Subject: imx-boot: Update to latest from NXP 6.6.23-2.0.0 - Add i.MX 91 support - Add missing STMM deploy Signed-off-by: Tom Hochstein --- recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 40 ++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 7013d6d1f..83b9ad789 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb @@ -1,4 +1,4 @@ -# Copyright (C) 2017-2020 NXP +# Copyright (C) 2017-2024 NXP require imx-mkimage_git.inc @@ -18,6 +18,7 @@ DEPENDS += " \ # xxd is a dependency of fspi_packer.sh DEPENDS += "xxd-native" DEPENDS:append:mx8m-generic-bsp = " u-boot-mkimage-native dtc-native" +DEPENDS:append:mx93-generic-bsp = " u-boot-mkimage-native dtc-native" BOOT_NAME = "imx-boot" PROVIDES = "${BOOT_NAME}" @@ -52,6 +53,7 @@ TOOLS_NAME ?= "mkimage_imx8" IMX_BOOT_SOC_TARGET ?= "INVALID" DEPLOY_OPTEE = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'true', 'false', d)}" +DEPLOY_OPTEE_STMM = "${@bb.utils.contains('MACHINE_FEATURES', 'optee stmm', 'true', 'false', d)}" IMXBOOT_TARGETS ?= \ "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ @@ -61,8 +63,8 @@ IMXBOOT_TARGETS ?= \ BOOT_STAGING = "${S}/${IMX_BOOT_SOC_TARGET}" BOOT_STAGING:mx8m-generic-bsp = "${S}/iMX8M" BOOT_STAGING:mx8dx-generic-bsp = "${S}/iMX8QX" -BOOT_STAGING:mx91p-generic-bsp = "${S}/iMX91" -BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93" +BOOT_STAGING:mx91-generic-bsp = "${S}/iMX91" +BOOT_STAGING:mx93-generic-bsp = "${S}/iMX93" BOOT_STAGING:mx95-generic-bsp = "${S}/iMX95" SOC_FAMILY = "INVALID" @@ -70,7 +72,7 @@ SOC_FAMILY:mx8-generic-bsp = "mx8" SOC_FAMILY:mx8m-generic-bsp = "mx8m" SOC_FAMILY:mx8x-generic-bsp = "mx8x" SOC_FAMILY:mx8ulp-generic-bsp = "mx8ulp" -SOC_FAMILY:mx91p-generic-bsp = "mx93" +SOC_FAMILY:mx91-generic-bsp = "mx91" SOC_FAMILY:mx93-generic-bsp = "mx93" SOC_FAMILY:mx95-generic-bsp = "mx95" @@ -153,6 +155,11 @@ compile_mx8ulp() { fi } +compile_mx91() { + bbnote i.MX 91 boot binary build + compile_mx93 +} + compile_mx93() { bbnote i.MX 93 boot binary build for ddr_firmware in ${DDR_FIRMWARE_NAME}; do @@ -219,21 +226,26 @@ do_compile() { for target in ${IMXBOOT_TARGETS}; do compile_${SOC_FAMILY} - if [ "$target" = "flash_linux_m4_no_v2x" ]; then + case $target in + *no_v2x) # Special target build for i.MX 8DXL with V2X off bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} V2X=NO ${target}" make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} V2X=NO dtbs=${UBOOT_DTB_NAME_EXTRA} flash_linux_m4 - elif [[ $target == *sttm_capsule ]]; then + ;; + *stmm_capsule) # target for flash_evk_stmm_capsule or # flash_singleboot_stmm_capsule cp ${RECIPE_SYSROOT_NATIVE}/${bindir}/mkeficapsule ${BOOT_STAGING} bbnote "building ${IMX_BOOT_SOC_TARGET} - TEE=tee.bin-stmm ${target}" cp ${DEPLOY_DIR_IMAGE}/CRT.* ${BOOT_STAGING} make SOC=${IMX_BOOT_SOC_TARGET} TEE=tee.bin-stmm dtbs=${UBOOT_DTB_NAME} ${REV_OPTION} ${target} - else + ;; + *) bbnote "building ${IMX_BOOT_SOC_TARGET} - ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} ${target}" make SOC=${IMX_BOOT_SOC_TARGET} ${REV_OPTION} ${MKIMAGE_EXTRA_ARGS} dtbs=${UBOOT_DTB_NAME} ${target} - fi + ;; + esac + if [ -e "${BOOT_STAGING}/flash.bin" ]; then cp ${BOOT_STAGING}/flash.bin ${S}/${BOOT_CONFIG_MACHINE_EXTRA}-${target} fi @@ -316,6 +328,10 @@ deploy_mx8ulp() { fi } +deploy_mx91() { + deploy_mx93 +} + deploy_mx93() { install -d ${DEPLOYDIR}/${BOOT_TOOLS} @@ -353,6 +369,14 @@ do_deploy() { # copy makefile (soc.mak) for reference install -m 0644 ${BOOT_STAGING}/soc.mak ${DEPLOYDIR}/${BOOT_TOOLS} + # copy stmm files to deploy path + if ${DEPLOY_OPTEE_STMM}; then + install -m 0644 ${BOOT_STAGING}/tee.bin-stmm ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/capsule1.bin ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0644 ${BOOT_STAGING}/CRT.* ${DEPLOYDIR}/${BOOT_TOOLS} + install -m 0755 ${BOOT_STAGING}/mkeficapsule ${DEPLOYDIR}/${BOOT_TOOLS} + fi + for type in ${UBOOT_CONFIG}; do UBOOT_CONFIG_EXTRA="$type" UBOOT_NAME_EXTRA="u-boot-${MACHINE}.bin-${UBOOT_CONFIG_EXTRA}" -- cgit v1.2.3-54-g00ecf