[PATCH v2] arch: arm: imx: esdctl: limit ram to 1GB on imx93 in case OPTEE is enabled
Michael Grzeschik
m.grzeschik at pengutronix.de
Mon Jun 23 15:00:09 PDT 2025
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.
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.
+ */
+ 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