Hi,
I am trying to understand the OPTEE functionality. Requesting support on following:
1. OPTEE documentation/ tutorial w.r.t. iMX91
2. How to Build & Test OPTEE on iMX91 processor with YOCTO.
Currently I have a YOCTO base developed from -
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-styhead -m imx-6.12.3-1.0.0_security-reference-design.xml
Please find below the list of files generated from it
ls tmp/deploy/images/imx91-11x11-lpddr4-evk
├── bl31-imx91.bin
├── bl31-imx91.bin-optee
├── core-image-base.env
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.manifest
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.spdx.tar.zst
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.tar.zst
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.testdata.json
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.wic.bmap
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.wic.zst
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.manifest -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.manifest
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.spdx.tar.zst -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.spdx.tar.zst
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.tar.zst -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.tar.zst
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.testdata.json -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.testdata.json
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.wic.bmap -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.wic.bmap
├── core-image-base-imx91-11x11-lpddr4-evk.rootfs.wic.zst -> core-image-base-imx91-11x11-lpddr4-evk.rootfs-20250630102959.wic.zst
├── core-image-base-imx-imx-boot-bootpart.wks
├── core-image-minimal-secure-boot.env
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.manifest
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.spdx.tar.zst
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.tar.zst
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.testdata.json
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.wic.bmap
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.wic.zst
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.manifest -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.manifest
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.spdx.tar.zst -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.spdx.tar.zst
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.tar.zst -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.tar.zst
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.testdata.json -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.testdata.json
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.wic.bmap -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.wic.bmap
├── core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs.wic.zst -> core-image-minimal-secure-boot-imx91-11x11-lpddr4-evk.rootfs-20250627055427.wic.zst
├── core-image-minimal-secure-boot-imx-imx-boot-bootpart.wks
├── files.txt
├── flash.bin
├── flash_os.bin
├── Image -> Image--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.bin
├── Image--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.bin
├── Image-imx91-11x11-lpddr4-evk.bin -> Image--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.bin
├── imx91-11x11-evk--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk.dtb
├── imx91-11x11-evk-aud-hat--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk-aud-hat.dtb
├── imx91-11x11-evk-aud-hat.dtb
├── imx91-11x11-evk-aud-hat-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk-aud-hat.dtb
├── imx91-11x11-evk.dtb
├── imx91-11x11-evk-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk.dtb
├── imx91-11x11-evk-ld--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk-ld.dtb
├── imx91-11x11-evk-ld.dtb
├── imx91-11x11-evk-ld-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk-ld.dtb
├── imx91-11x11-evk-lpuart--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk-lpuart.dtb
├── imx91-11x11-evk-lpuart.dtb
├── imx91-11x11-evk-lpuart-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk-lpuart.dtb
├── imx91-11x11-evk-mt9m114--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk-mt9m114.dtb
├── imx91-11x11-evk-mt9m114.dtb
├── imx91-11x11-evk-mt9m114-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk-mt9m114.dtb
├── imx91-11x11-evk-tianma-wvga-panel--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.dtb -> imx91-11x11-evk-tianma-wvga-panel.dtb
├── imx91-11x11-evk-tianma-wvga-panel.dtb
├── imx91-11x11-evk-tianma-wvga-panel-imx91-11x11-lpddr4-evk.dtb -> imx91-11x11-evk-tianma-wvga-panel.dtb
├── imx-boot -> imx-boot-tagged
├── imx-boot-imx91-11x11-lpddr4-evk-sd.bin-flash_singleboot
├── imx-boot-tagged
├── imx-boot.tagged
├── imx-boot-tools
│ ├── bl31-imx91.bin
│ ├── bl31-imx91.bin-optee
│ ├── csf_ahab.cfg.sample
│ ├── csf_hab4.cfg.sample
│ ├── imx_signer
│ ├── lpddr4_dmem_1d_v202201.bin
│ ├── lpddr4_dmem_2d_v202201.bin
│ ├── lpddr4_imem_1d_v202201.bin
│ ├── lpddr4_imem_2d_v202201.bin
│ ├── mkimage_imx8
│ ├── mx91a0-ahab-container.img
│ ├── soc.mak
│ ├── spsdk_ahab.cfg.sample
│ ├── tee.bin
│ ├── u-boot-imx91-11x11-lpddr4-evk.bin-sd
│ └── u-boot-spl.bin-imx91-11x11-lpddr4-evk-sd
├── imx-boot-untagged
├── lpddr4_dmem_1d_v202201.bin
├── lpddr4_dmem_2d_v202201.bin
├── lpddr4_imem_1d_v202201.bin
├── lpddr4_imem_2d_v202201.bin
├── modules--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.tgz
├── modules-imx91-11x11-lpddr4-evk.tgz -> modules--6.6.36+git0+d23d64eea5-r0-imx91-11x11-lpddr4-evk-20250627055427.tgz
├── mx91a0-ahab-container.img
├── optee
│ ├── ta
│ │ ├── 023f8f1a-292a-432b-8fc4-de8471358067.elf
│ │ ├── 023f8f1a-292a-432b-8fc4-de8471358067.stripped.elf
│ │ ├── 02a42f43-d8b7-4a57-aa4d-87bd9b5587cb.elf
│ │ ├── 02a42f43-d8b7-4a57-aa4d-87bd9b5587cb.stripped.elf
│ │ ├── 25497083-a58a-4fc5-8a72-1ad7b69b8562.elf
│ │ ├── 25497083-a58a-4fc5-8a72-1ad7b69b8562.stripped.elf
│ │ ├── 380231ac-fb99-47ad-a689-9e017eb6e78a.elf
│ │ ├── 380231ac-fb99-47ad-a689-9e017eb6e78a.stripped.elf
│ │ ├── 528938ce-fc59-11e8-8eb2-f2801f1b9fd1.elf
│ │ ├── 528938ce-fc59-11e8-8eb2-f2801f1b9fd1.stripped.elf
│ │ ├── 5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.elf
│ │ ├── 5b9e0e40-2636-11e1-ad9e-0002a5d5c51b.stripped.elf
│ │ ├── 5c206987-16a3-59cc-ab0f-64b9cfc9e758.elf
│ │ ├── 5c206987-16a3-59cc-ab0f-64b9cfc9e758.stripped.elf
│ │ ├── 5ce0c432-0ab0-40e5-a056-782ca0e6aba2.elf
│ │ ├── 5ce0c432-0ab0-40e5-a056-782ca0e6aba2.stripped.elf
│ │ ├── 731e279e-aafb-4575-a771-38caa6f0cca6.elf
│ │ ├── 731e279e-aafb-4575-a771-38caa6f0cca6.stripped.elf
│ │ ├── 80a4c275-0a47-4905-8285-1486a9771a08.elf
│ │ ├── 80a4c275-0a47-4905-8285-1486a9771a08.stripped.elf
│ │ ├── 873bcd08-c2c3-11e6-a937-d0bf9c45c61c.elf
│ │ ├── 873bcd08-c2c3-11e6-a937-d0bf9c45c61c.stripped.elf
│ │ ├── 8aaaf200-2450-11e4-abe20002a5d5c51c.elf
│ │ ├── 8aaaf200-2450-11e4-abe20002a5d5c51c.stripped.elf
│ │ ├── a4c04d50-f180-11e8-8eb2-f2801f1b9fd1.elf
│ │ ├── a4c04d50-f180-11e8-8eb2-f2801f1b9fd1.stripped.elf
│ │ ├── a720ccbb-51da-417d-b82e-e5445d474a7a.elf
│ │ ├── a720ccbb-51da-417d-b82e-e5445d474a7a.stripped.elf
│ │ ├── b3091a65-9751-4784-abf7-0298a7cc35ba.elf
│ │ ├── b689f2a7-8adf-477a-9f99-32e90c0ad0a2.elf
│ │ ├── b689f2a7-8adf-477a-9f99-32e90c0ad0a2.stripped.elf
│ │ ├── c3f6e2c0-3548-11e1-b86c-0800200c9a66.elf
│ │ ├── c3f6e2c0-3548-11e1-b86c-0800200c9a66.stripped.elf
│ │ ├── cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.elf
│ │ ├── cb3e5ba0-adf1-11e0-998b-0002a5d5c51b.stripped.elf
│ │ ├── d17f73a0-36ef-11e1-984a-0002a5d5c51b.elf
│ │ ├── d17f73a0-36ef-11e1-984a-0002a5d5c51b.stripped.elf
│ │ ├── e13010e0-2ae1-11e5-896a-0002a5d5c51b.elf
│ │ ├── e13010e0-2ae1-11e5-896a-0002a5d5c51b.stripped.elf
│ │ ├── e6a33ed4-562b-463a-bb7e-ff5e15a493c8.elf
│ │ ├── e6a33ed4-562b-463a-bb7e-ff5e15a493c8.stripped.elf
│ │ ├── f04a0fe7-1f5d-4b9b-abf7-619b85b4ce8c.elf
│ │ ├── f04a0fe7-1f5d-4b9b-abf7-619b85b4ce8c.stripped.elf
│ │ ├── f157cda0-550c-11e5-a6fa-0002a5d5c51b.elf
│ │ ├── f157cda0-550c-11e5-a6fa-0002a5d5c51b.stripped.elf
│ │ ├── fd02c9da-306c-48c7-a49c-bbd827ae86ee.elf
│ │ ├── fd02c9da-306c-48c7-a49c-bbd827ae86ee.stripped.elf
│ │ └── ffd2bded-ab7d-4988-95ee-e4962fff7154.elf
│ ├── tee.bin
│ ├── tee.elf
│ ├── tee-header_v2.bin
│ ├── tee.mx91evk.bin
│ ├── tee-pageable_v2.bin
│ ├── tee-pager_v2.bin
│ └── tee-raw.bin
├── os_cntr_signed.bin
├── signed-imx-boot-imx91-11x11-lpddr4-evk-sd.bin-flash_singleboot
├── tee.bin -> optee/tee.mx91evk.bin
├── u-boot.bin -> u-boot-sd-2024.04-r0.bin
├── u-boot.bin-sd -> u-boot-sd-2024.04-r0.bin
├── u-boot-imx91-11x11-lpddr4-evk.bin -> u-boot-sd-2024.04-r0.bin
├── u-boot-imx91-11x11-lpddr4-evk.bin-sd -> u-boot-sd-2024.04-r0.bin
├── u-boot-imx-initial-env-imx91-11x11-lpddr4-evk-sd -> u-boot-imx-initial-env-imx91-11x11-lpddr4-evk-sd-2024.04-r0
├── u-boot-imx-initial-env-imx91-11x11-lpddr4-evk-sd-2024.04-r0
├── u-boot-imx-initial-env-sd -> u-boot-imx-initial-env-imx91-11x11-lpddr4-evk-sd-2024.04-r0
├── u-boot-sd-2024.04-r0.bin
├── u-boot-spl.bin -> u-boot-spl.bin-sd-2024.04-r0
├── u-boot-spl.bin-imx91-11x11-lpddr4-evk -> u-boot-spl.bin-sd-2024.04-r0
├── u-boot-spl.bin-imx91-11x11-lpddr4-evk-sd -> u-boot-spl.bin-sd-2024.04-r0
├── u-boot-spl.bin-sd -> u-boot-spl.bin-sd-2024.04-r0
└── u-boot-spl.bin-sd-2024.04-r0
4 directories, 153 files
Thx,
Kiran
Hi @KiranM7!
Thank you for contacting NXP Support!
OP-TEE is enabled by default in our BSP. While we currently do not have an official guide for running optee-test, you can refer to the official OP-TEE documentation for detailed instructions:
Best regards,
Chavira