[PATCH v2 5/5] optee: Support Rockchip OP-TEE binaries
Alex Bee
knaerzche at gmail.com
Thu Jul 20 09:39:04 CEST 2023
Hi Kever,
Am 19.07.23 um 09:28 schrieb Kever Yang:
> Hi Alex,
>
>
> On 2023/7/18 22:57, Alex Bee wrote:
>> Currently the only ARM Rockchip SoC which is supported by upstream
>> optee-os is RK322x. For all other ARM SoCs a
>> vendor-provided OP-TEE binary has to be used to have a TEE available.
>> Those are using a calling convension different from upstream optee-os.
>>
>> This introduces CONFIG_ROCKCHIP_OPTEE_BINARY which signals that any
>> of those vendor binaries is used and changes the calling convension
>> accordingly.
>>
>> Signed-off-by: Alex Bee <knaerzche at gmail.com>
>> ---
>> arch/arm/mach-rockchip/Kconfig | 8 ++++++++
>> common/spl/spl_optee.S | 4 ++++
>> 2 files changed, 12 insertions(+)
>>
>> diff --git a/arch/arm/mach-rockchip/Kconfig
>> b/arch/arm/mach-rockchip/Kconfig
>> index 17dd43155d..83d8a2a056 100644
>> --- a/arch/arm/mach-rockchip/Kconfig
>> +++ b/arch/arm/mach-rockchip/Kconfig
>> @@ -449,6 +449,14 @@ config ROCKCHIP_BOOT_MODE_REG
>> The Soc will enter to different boot mode(defined in
>> asm/arch-rockchip/boot_mode.h)
>> according to the value from this register.
>> +config ROCKCHIP_OPTEE_BINARY
>> + bool "Use a OP-TEE binary provided by Rockchip"
>> + depends on SPL_OPTEE_IMAGE
>> + default y if ROCKCHIP_RK3036 || ROCKCHIP_RK3128 || ROCKCHIP_RK3288
>
> This patch is not need for now.
>
> the rk3036 works without OPTEE, and rk3288 is able to use ATF
> instead for OPTEE which upstreamed by Heiko.
>
Thanks for your review.
I'm aware of Heiko's ATF BL32 implemenation for RK3288. But what about
RK3128/RK3036? They might wwork w/o RK OPTEE-binaries in regards of SMP
bringup, but still you have no TEE.
You're right: It's not strictly required to have support for RK
OPTEE-binaries, but also it doesn't hurt and it's fully optional to use
it for those SoCs. Besides RK's TEE-implementations provide some more
services via SMCC calls (DVFS for DRAM, for instance) which are not
supported (yet) by upstream variants.
I don't like the requirement of this patch either, but unfortunately the
TEE binaries RK provides are built with wrong/incompatible flags.
Regards,
Alex
>
> Thanks,
>
> - Kever
>
>> + help
>> + This option enables the usage of vendor-provided OP-TEE binaries.
>> + Say Y if you are using OP-TEE binary provided by Rockchip.
>> +
>> config ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON
>> bool "Disable device boot on power plug-in"
>> depends on PMIC_RK8XX
>> diff --git a/common/spl/spl_optee.S b/common/spl/spl_optee.S
>> index a269904d38..ea41d8adb6 100644
>> --- a/common/spl/spl_optee.S
>> +++ b/common/spl/spl_optee.S
>> @@ -7,6 +7,10 @@
>> #include <asm/assembler.h>
>> ENTRY(spl_optee_entry)
>> +#ifdef CONFIG_ROCKCHIP_OPTEE_BINARY
>> + ldr r1, =CONFIG_TEXT_BASE
>> +#else
>> ldr lr, =CONFIG_TEXT_BASE
>> +#endif
>> mov pc, r3
>> ENDPROC(spl_optee_entry)
More information about the U-Boot
mailing list