rk3399: Loading OP-TEE by SPL?

Kever Yang kever.yang at rock-chips.com
Wed Feb 22 07:31:59 CET 2023


Hi Christoph,

     The SPL_OPTEE_IMAGE is suppose to use like ATF for armv7:

     TPL->SPL->BL31/ATF/OPTEE->U-Boot.

     But not for OPTEE use as a BL32 after BL31.

     BL31 and U-Boot is package as a itb file, so it's easy to add a 
BL32, but you may need to

study how BL31 get entry to BL32 and then add support for it.


Thanks,

- Kever

On 2023/2/22 04:16, Christoph Fritz wrote:
> Hello,
>
> my goal is to load OP-TEE after BL31 and before u-boot, so I enabled
> CONFIG_SPL_OPTEE_IMAGE.
>
> But it fails to build (tested current master):
>
>   $ make -j$(nproc) CROSS_COMPILE=aarch64-linux-gnu- rock-pi-4-rk3399_defconfig all
>
> ./arch/arm/include/asm/unified.h: Assembler messages:
> ./arch/arm/include/asm/unified.h:12: Error: unknown pseudo-op: `.syntax'
> common/spl/spl_optee.S:11: Error: operand 1 must be an integer register -- `mov pc,r3'
> make[3]: *** [scripts/Makefile.build:292: spl/common/spl/spl_optee.o] Error 1
> make[2]: *** [scripts/Makefile.spl:533: spl/common/spl] Error 2
> make[2]: *** Waiting for unfinished jobs....
>
> Without CONFIG_SPL_OPTEE_IMAGE the board starts like this:
>   TPL -> SPL -> BL31 -> u-boot
>
> What's the correct way to start OP-TEE on rk3399?
>
> Any ideas?
>
> Thanks
>    -- Christoph
>


More information about the U-Boot mailing list