[PATCH] arm64: dts: imx8m: Reinstate TEE ifdeffery
Marek Vasut
marex at nabladev.com
Tue Jun 30 18:08:56 CEST 2026
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 <marex at nabladev.com>
---
Cc: "NXP i.MX U-Boot Team" <uboot-imx at nxp.com>
Cc: Fabio Estevam <festevam at gmail.com>
Cc: Peng Fan <peng.fan at nxp.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Stefano Babic <sbabic at nabladev.com>
Cc: Tom Rini <trini at konsulko.com>
Cc: Yannic Moog <y.moog at phytec.de>
Cc: Ye Li <ye.li at nxp.com>
Cc: u-boot at lists.denx.de
---
arch/arm/dts/imx8mm-u-boot.dtsi | 6 ++++++
arch/arm/dts/imx8mn-u-boot.dtsi | 6 ++++++
arch/arm/dts/imx8mp-u-boot.dtsi | 6 ++++++
arch/arm/dts/imx8mq-u-boot.dtsi | 6 ++++++
4 files changed, 24 insertions(+)
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi
index ab135fc8a47..56ab70e54ea 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 8993605af3c..e4918bf5975 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 ed2c704f2e5..2f9b4a504c3 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
};
};
--
2.53.0
More information about the U-Boot
mailing list