[PATCH v2] arch: arm: imx: esdctl: limit ram to 1GB on imx93 in case OPTEE is enabled
Marco Felsch
m.felsch at pengutronix.de
Tue Jun 24 03:30:50 PDT 2025
Hi Michael,
thanks for the patch.
On 25-06-24, Michael Grzeschik wrote:
> In MX93 the ELE (Edge Lock Enclave) is limited to communicate with
> messages addressed under 1.5GB. The ELE can not reach the memory between
> (0xE0000000-0xFFFFFFFF).
>
> So we limit the usable memory in case OPTEE is used.
Out of curiosity. This limits the memory for barebox but what about
Linux? You don't want to limit memory for Linux because ELE is not
capable of using memory above 0xe0000000.
> Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
>
> ---
> v1 -> v2: moved the limitation to be active in imx93_barebox_entry only
> ---
> arch/arm/mach-imx/esdctl.c | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c
> index 4b67b52ca45..c79d7c29245 100644
> --- a/arch/arm/mach-imx/esdctl.c
> +++ b/arch/arm/mach-imx/esdctl.c
> @@ -1046,9 +1046,20 @@ void __noreturn imx7d_barebox_entry(void *boarddata)
>
> void __noreturn imx93_barebox_entry(void *boarddata)
> {
> + resource_size_t mem = 0;
> +
> imx93_init_scratch_space(false);
> optee_set_membase(imx_scratch_get_optee_hdr());
>
> - barebox_arm_entry(MX9_DDR_CSD1_BASE_ADDR,
> - imx9_ddrc_sdram_size(), boarddata);
> + mem = imx9_ddrc_sdram_size();
> + /* In MX93 the ELE is limited to comunicate with messages
> + * under 1.5GB address space. This limits the overal memory
> + * to be 1GB in case OPTEE is used.
> + */
What is the role of OP-TEE here? Is the ELE communication done by
barebox or op-tee or both?
Regards,
Marco
> + if (IS_ENABLED(CONFIG_PBL_OPTEE)) {
> + if (mem > 0x40000000)
> + mem = 0x40000000;
> + }
> +
> + barebox_arm_entry(MX9_DDR_CSD1_BASE_ADDR, mem, boarddata);
> }
> --
> 2.39.5
>
>
>
More information about the barebox
mailing list