* OPTEE on i.MX8MP
@ 2026-03-17 2:07 Fabio Estevam
2026-03-17 5:06 ` Peng Fan
2026-03-17 6:41 ` Yannic Moog
0 siblings, 2 replies; 4+ messages in thread
From: Fabio Estevam @ 2026-03-17 2:07 UTC (permalink / raw)
To: Peng Fan (OSS), Ye Li
Cc: U-Boot-Denx, Alice Guo, Yannic Moog, Tom Rini, Francesco Dolcini
Hi,
I'm trying to boot the imx8mp-evk board with Optee support.
TF-A v2.14
make -j12 CROSS_COMPILE=aarch64-linux-gnu- PLAT=imx8mp SPD=opteed bl31
Optee-OS 4.9.0
make -j12 CROSS_COMPILE=aarch64-linux-gnu- O=out/arm PLATFORM=imx-mx8mpevk
Then I copied the bl31.bin and tee.bin to the U-Boot directory:
U-Boot SPL 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:51:05 -0300)
WDT: Started watchdog@30280000 with servicing every 1000ms (60s timeout)
SEC0: RNG instantiated
Normal Boot
Trying to boot from BOOTROM
Boot Stage: Primary boot
image offset 0x8000, �
U-Boot SPL 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:53:30 -0300)
WDT: Started watchdog@30280000 with servicing every 1000ms (60s timeout)
SEC0: RNG instantiated
Normal Boot
Trying to boot from BOOTROM
Boot Stage: Primary boot
image offset 0x8000, pagesize 0x200, ivt offset 0x0
load_simple_fit: Skip load 'tee': image size is 0!
***************************** Tee image is not found
NOTICE: Do not release JR0 to NS as it can be used by HAB
NOTICE: BL31: v2.14.0(release):sandbox/v2.14
NOTICE: BL31: Built : 22:19:21, Mar 16 2026
ERROR: Error initializing runtime service opteed_fast
U-Boot 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:53:30 -0300)
CPU: NXP i.MX8MP[8] Rev1.0 A53 at 1200 MHz
Model: NXP i.MX8MPlus EVK board
DRAM: 6 GiB
optee optee: OP-TEE api uid mismatch ************************* UID mismatch
....
Any ideas as to why Optee fails?
Does anyone have Optee working on imx8mp?
Thanks,
Fabio Estevam
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OPTEE on i.MX8MP
2026-03-17 2:07 OPTEE on i.MX8MP Fabio Estevam
@ 2026-03-17 5:06 ` Peng Fan
2026-03-17 6:41 ` Yannic Moog
1 sibling, 0 replies; 4+ messages in thread
From: Peng Fan @ 2026-03-17 5:06 UTC (permalink / raw)
To: Fabio Estevam
Cc: Ye Li, U-Boot-Denx, Alice Guo, Yannic Moog, Tom Rini,
Francesco Dolcini
Hi Fabio,
On Mon, Mar 16, 2026 at 11:07:54PM -0300, Fabio Estevam wrote:
>load_simple_fit: Skip load 'tee': image size is 0!
Not found tee?
>***************************** Tee image is not found
>NOTICE: Do not release JR0 to NS as it can be used by HAB
>NOTICE: BL31: v2.14.0(release):sandbox/v2.14
>NOTICE: BL31: Built : 22:19:21, Mar 16 2026
>ERROR: Error initializing runtime service opteed_fast
optee initialization failure.
>
>
>U-Boot 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:53:30 -0300)
>
>CPU: NXP i.MX8MP[8] Rev1.0 A53 at 1200 MHz
>Model: NXP i.MX8MPlus EVK board
>DRAM: 6 GiB
>optee optee: OP-TEE api uid mismatch ************************* UID mismatch
>....
>
>Any ideas as to why Optee fails?
>
>Does anyone have Optee working on imx8mp?
Are you using upstream ATF, upstream OP-TEE?
Regards
Peng
>
>Thanks,
>
>Fabio Estevam
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OPTEE on i.MX8MP
2026-03-17 2:07 OPTEE on i.MX8MP Fabio Estevam
2026-03-17 5:06 ` Peng Fan
@ 2026-03-17 6:41 ` Yannic Moog
2026-03-17 17:06 ` Fabio Estevam
1 sibling, 1 reply; 4+ messages in thread
From: Yannic Moog @ 2026-03-17 6:41 UTC (permalink / raw)
To: Fabio Estevam, Peng Fan (OSS), Ye Li
Cc: U-Boot-Denx, Alice Guo, Tom Rini, Francesco Dolcini
Hi Fabio,
On Mon, 2026-03-16 at 23:07 -0300, Fabio Estevam wrote:
> Hi,
>
> I'm trying to boot the imx8mp-evk board with Optee support.
>
> TF-A v2.14
> make -j12 CROSS_COMPILE=aarch64-linux-gnu- PLAT=imx8mp SPD=opteed bl31
>
> Optee-OS 4.9.0
> make -j12 CROSS_COMPILE=aarch64-linux-gnu- O=out/arm PLATFORM=imx-mx8mpevk
>
> Then I copied the bl31.bin and tee.bin to the U-Boot directory:
My guess is that you copied tee.bin, not tee-raw.bin [1] to the U-Boot directory.
We need tee-raw.bin.
Yannic
[1] https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html#id5
>
> U-Boot SPL 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:51:05 -0300)
> WDT: Started watchdog@30280000 with servicing every 1000ms (60s timeout)
> SEC0: RNG instantiated
> Normal Boot
> Trying to boot from BOOTROM
> Boot Stage: Primary boot
> image offset 0x8000, �
> U-Boot SPL 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:53:30 -0300)
> WDT: Started watchdog@30280000 with servicing every 1000ms (60s timeout)
> SEC0: RNG instantiated
> Normal Boot
> Trying to boot from BOOTROM
> Boot Stage: Primary boot
> image offset 0x8000, pagesize 0x200, ivt offset 0x0
> load_simple_fit: Skip load 'tee': image size is 0!
> ***************************** Tee image is not found
> NOTICE: Do not release JR0 to NS as it can be used by HAB
> NOTICE: BL31: v2.14.0(release):sandbox/v2.14
> NOTICE: BL31: Built : 22:19:21, Mar 16 2026
> ERROR: Error initializing runtime service opteed_fast
>
>
> U-Boot 2026.04-rc4-00006-geefb822fb574 (Mar 16 2026 - 22:53:30 -0300)
>
> CPU: NXP i.MX8MP[8] Rev1.0 A53 at 1200 MHz
> Model: NXP i.MX8MPlus EVK board
> DRAM: 6 GiB
> optee optee: OP-TEE api uid mismatch ************************* UID mismatch
> ....
>
> Any ideas as to why Optee fails?
>
> Does anyone have Optee working on imx8mp?
>
> Thanks,
>
> Fabio Estevam
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: OPTEE on i.MX8MP
2026-03-17 6:41 ` Yannic Moog
@ 2026-03-17 17:06 ` Fabio Estevam
0 siblings, 0 replies; 4+ messages in thread
From: Fabio Estevam @ 2026-03-17 17:06 UTC (permalink / raw)
To: Yannic Moog
Cc: Peng Fan (OSS), Ye Li, U-Boot-Denx, Alice Guo, Tom Rini,
Francesco Dolcini
Hi Yannic and Peng,
Thanks for your replies.
On Tue, Mar 17, 2026 at 3:41 AM Yannic Moog <Y.Moog@phytec.de> wrote:
> My guess is that you copied tee.bin, not tee-raw.bin [1] to the U-Boot directory.
> We need tee-raw.bin.
Yes, besides that, I had to pass the BL32_BASE option to TF-A and the
CFG_TZDRAM_START option to Optee-os:
TF-A (Mainline 2.14)
make -j12 SPD=opteed PLAT=imx8mp BL32_BASE=0x56000000
cp build/imx8mp/release/bl31.bin <u-boot-dir>
Optee-os (Mainline 4.9.0)
make -j12 CROSS_COMPILE=aarch64-linux-gnu- O=out/arm
PLATFORM=imx-mx8mpevk CFG_TZDRAM_START=0x56000000
cp out/arm/core/tee-raw.bin <u-boot-dir>/tee.bin
U-Boot:
--- a/configs/imx8mp_evk_defconfig
+++ b/configs/imx8mp_evk_defconfig
@@ -9,6 +9,7 @@ CONFIG_ENV_SIZE=0x4000
CONFIG_ENV_OFFSET=0x200000
CONFIG_DM_GPIO=y
CONFIG_DEFAULT_DEVICE_TREE="freescale/imx8mp-evk"
+CONFIG_IMX8M_OPTEE_LOAD_ADDR=0x56000000
CONFIG_TARGET_IMX8MP_EVK=y
CONFIG_SYS_MONITOR_LEN=524288
CONFIG_SPL_MMC=y
With that, Linux registers the optee device successfully on kernel 6.18:
# dmesg | grep optee
[ 0.000000] OF: reserved mem:
0x0000000057c00000..0x0000000057ffffff (4096 KiB) nomap non-reusable
optee_shm@57c00000
[ 0.000000] OF: reserved mem:
0x0000000056000000..0x0000000057bfffff (28672 KiB) nomap non-reusable
optee_core@56000000
[ 0.501959] optee: probing for conduit method.
[ 0.502012] optee: revision 4.9 (c2b0684fcd899299)
[ 0.522839] optee: dynamic shared memory is enabled
[ 0.523251] optee: initialized driver
# ls /dev/tee*
/dev/tee0 /dev/teepriv0
I'll submit the patch for the imx8mp_evk_defconfig change and will
also add an Optee entry in doc/board/nxp/imx8mp_evk.rst
Thanks,
Fabio Estevam
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-17 17:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 2:07 OPTEE on i.MX8MP Fabio Estevam
2026-03-17 5:06 ` Peng Fan
2026-03-17 6:41 ` Yannic Moog
2026-03-17 17:06 ` Fabio Estevam
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.