From: Marek Vasut Date: Tue, 30 Jun 2026 16:08:56 +0000 (+0200) Subject: arm64: dts: imx8m: Reinstate TEE ifdeffery X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3dcbac87a2cc784bcd27a925e246e8192788ce09;p=thirdparty%2Fu-boot.git arm64: dts: imx8m: Reinstate TEE ifdeffery Since b57ed147939c ("dts: imx8m{m,n,p,q}: Make optee packaging optional") the TEE node is always present in U-Boot proper fitImage, even if the CONFIG_OPTEE is disabled because the u-boot.itb should not contain any tee.bin. This is wasteful, and produces the following warning which is also confusing to users: " Image 'image' is missing optional external blobs but is still functional: tee-os /binman/section/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin " Reinstate the CONFIG_OPTEE ifdeffery to mitigate the problem, but retain the binman "optional" keyword at tee.bin . Before: " $ mkimage -l u-boot.itb FIT description: Configuration to load ATF before U-Boot Created: Tue Jun 30 17:23:54 2026 Image 0 (uboot) ... Image 2 (tee) <------------------------------ bogus empty image entry Description: OP-TEE | Created: Tue Jun 30 17:23:54 2026 | Type: Trusted Execution Environment Image | Compression: uncompressed | Data Size: 0 Bytes = 0.00 KiB = 0.00 MiB <--------' Image 3 (fdt-1) ... " After: " $ mkimage -l u-boot.itb FIT description: Configuration to load ATF before U-Boot Created: Tue Jun 30 17:58:15 2026 Image 0 (uboot) ... Image 1 (atf) ... Image 2 (fdt-1) ... " Fixes: b57ed147939c ("dts: imx8m{m,n,p,q}: Make optee packaging optional") Signed-off-by: Marek Vasut Reviewed-by: Peng Fan --- diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index 50ecb6cad39..c3d9b4f4237 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -165,6 +165,7 @@ }; #endif +#ifdef CONFIG_OPTEE tee: tee { description = "OP-TEE"; type = "tee"; @@ -179,6 +180,7 @@ optional; }; }; +#endif binman_fip: fip { arch = "arm64"; @@ -208,7 +210,11 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI +#ifdef CONFIG_OPTEE loadables = "atf", "tee"; +#else + loadables = "atf"; +#endif #endif }; }; diff --git a/arch/arm/dts/imx8mn-u-boot.dtsi b/arch/arm/dts/imx8mn-u-boot.dtsi index 690f56e65bb..f9cbfd03f99 100644 --- a/arch/arm/dts/imx8mn-u-boot.dtsi +++ b/arch/arm/dts/imx8mn-u-boot.dtsi @@ -241,6 +241,7 @@ }; #endif +#ifdef CONFIG_OPTEE tee: tee { description = "OP-TEE"; type = "tee"; @@ -255,6 +256,7 @@ optional; }; }; +#endif binman_fip: fip { arch = "arm64"; @@ -284,7 +286,11 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI +#ifdef CONFIG_OPTEE loadables = "atf", "tee"; +#else + loadables = "atf"; +#endif #endif }; }; diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi index d9d220c70db..58b6863f003 100644 --- a/arch/arm/dts/imx8mp-u-boot.dtsi +++ b/arch/arm/dts/imx8mp-u-boot.dtsi @@ -189,6 +189,7 @@ }; #endif +#ifdef CONFIG_OPTEE tee: tee { description = "OP-TEE"; type = "tee"; @@ -203,6 +204,7 @@ optional; }; }; +#endif @fdt-SEQ { description = "NAME"; @@ -223,7 +225,11 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI +#ifdef CONFIG_OPTEE loadables = "atf", "tee"; +#else + loadables = "atf"; +#endif #endif }; }; diff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi index b4deaa92160..c6947401750 100644 --- a/arch/arm/dts/imx8mq-u-boot.dtsi +++ b/arch/arm/dts/imx8mq-u-boot.dtsi @@ -173,6 +173,7 @@ }; #endif +#ifdef CONFIG_OPTEE tee: tee { description = "OP-TEE"; type = "tee"; @@ -187,6 +188,7 @@ optional; }; }; +#endif fdt { compression = "none"; @@ -208,7 +210,11 @@ fdt = "fdt"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI +#ifdef CONFIG_OPTEE loadables = "atf", "tee"; +#else + loadables = "atf"; +#endif #endif }; };