i.MX 8M Mini TF-A fails to initialize OP-TEE

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX 8M Mini TF-A fails to initialize OP-TEE

763 Views
tperrot
Contributor II

Hello,

 

I encounter some issues to enable OP-TEE on i.MX 8M Mini  LPDDR4 EVKB.

 

OP-TEE seems well packaged in the ITB image and loaded by the SPL but when TF-A call the function bl32_init the boot process is interrupted.

 

I use the version lf-5.10.y-1.0.0 of linux-imx, uboot-imx, imx-atf and imx-optee-os.

 

Following the ITS:

 

/dts-v1/;

/ {
        description = "Configuration to load ATF before U-Boot";

        images {
                uboot@1 {
                        description = "U-Boot (64-bit)";
                        data = /incbin/("/src/buildroot/output/images/u-boot-nodtb.bin");
                        type = "standalone";
                        arch = "arm64";
                        compression = "none";
                        load = <0x40200000>;
                };
                fdt@1 {
                        description = "imx8mm-evk";
                        data = /incbin/("/src/buildroot/output/build/uboot-lf-5.10.y-1.0.0/arch/arm/dts/imx8mm-evk.dtb");
                        type = "flat_dt";
                        compression = "none";
                };
                atf@1 {
                        description = "ARM Trusted Firmware";
                        data = /incbin/("/src/buildroot/output/images/bl31.bin");
                        type = "firmware";
                        arch = "arm64";
                        compression = "none";
                        load = <0x00920000>;
                        entry = <0x00920000>;
                };
                tee@1 {
                        description = "TEE firmware";
                        data = /incbin/("/src/buildroot/output/images/tee.bin");
                        type = "firmware";
                        arch = "arm64";
                        compression = "none";
                        load = <0xbe000000>;
                        entry = <0xbe000000>;
                };
        };
        configurations {
                default = "config@1";

                config@1 {
                        description = "imx8mm-evk";
                        firmware = "uboot@1";
                        loadables = "atf@1", "tee@1";
                        fdt = "fdt@1";
                };
        };
};

 


Below the boot trace:

 

U-Boot SPL 2020.04 (May 06 2022 - 06:26:30 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
fit read sector 300, sectors=24, dst=401fcdc0, count=24, size=0x3000
firmware: 'uboot@1'
External data: dst=40200000, offset=3000, size=c5210
fdt: 'fdt@1'
External data: dst=402c5240, offset=c8210, size=8c1d
loadables: 'atf@1'
External data: dst=920000, offset=d0e30, size=d258
loadables: 'tee@1'
External data: dst=be000000, offset=de088, size=6dd84
no string for index 2

Authenticate image from DDR location 0x401fcdc0...
NOTICE:  BL31: v2.4(debug):2021.11-480-g53fc4f771a
NOTICE:  BL31: Built : 06:26:25, May  6 2022
INFO:    GICv3 with legacy support detected.
INFO:    ARM GICv3 driver initialized in EL3
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
WARNING: BL31: cortex_a53: CPU workaround for 1530924 was missing!
INFO:    BL31: Initializing BL32

 

 

Labels (1)
Tags (3)
0 Kudos
2 Replies

705 Views
tperrot
Contributor II

BL31 booting stuck up within opteed_synchronous_sp_entry.

0 Kudos

735 Views
tperrot
Contributor II

Has anyone ever used OP-TEE with a U-Boot fitimage, successfully, ideally on i.MX 8M Mini?

 

We have also tested with the latest NXP BSP release without success, the same issue occurs.

 

0 Kudos