[PATCH v2 03/15] ARM: i.MX8M: imx8m_tfa_start_bl31() add support for bl33 and fdt
Marco Felsch
m.felsch at pengutronix.de
Wed Feb 4 12:01:19 PST 2026
This adds the support to pass the bl33 entry and the fdt to
imx8m_tfa_start_bl31() which is required to pass it later on the the
bl31 via the bl_params.
Reviewed-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
---
arch/arm/mach-imx/atf.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-imx/atf.c b/arch/arm/mach-imx/atf.c
index a7ec09ea7e9a90e3af7c01126bb6da9626d2d09d..11d26607bc2ea449402d9cb8e20fbb44f425989c 100644
--- a/arch/arm/mach-imx/atf.c
+++ b/arch/arm/mach-imx/atf.c
@@ -45,6 +45,9 @@ static void imx_adjust_optee_memory(void **bl32, void **bl32_image, size_t *bl32
* @tfa_dest: Place where the BL31 is copied to and executed
* @tee: Pointer to the optional BL32 blob
* @tee_size: Size of the optional BL32 blob
+ * @bl33: Pointer to the already loaded BL33 blob
+ * @fdt: Pointer to the barebox internal DT (either compressed or not
+ * compressed)
*
* This function:
*
@@ -64,7 +67,7 @@ static void imx_adjust_optee_memory(void **bl32, void **bl32_image, size_t *bl32
static __noreturn void
imx8m_tfa_start_bl31(const void *tfa_bin, size_t tfa_size, void *tfa_dest,
- void *tee_bin, size_t tee_size)
+ void *tee_bin, size_t tee_size, void *bl33, void *fdt)
{
void __noreturn (*bl31)(void) = tfa_dest;
unsigned long endmem;
@@ -211,7 +214,7 @@ __noreturn void __imx8mm_load_and_start_image_via_tfa(void *fdt, void *bl33)
}
imx8m_tfa_start_bl31(bl31, bl31_size, (void *)MX8MM_ATF_BL31_BASE_ADDR,
- bl32, bl32_size);
+ bl32, bl32_size, bl33, fdt);
}
void imx8mp_load_bl33(void *bl33)
@@ -276,7 +279,7 @@ __noreturn void __imx8mp_load_and_start_image_via_tfa(void *fdt, void *bl33)
}
imx8m_tfa_start_bl31(bl31, bl31_size, (void *)MX8MP_ATF_BL31_BASE_ADDR,
- bl32, bl32_size);
+ bl32, bl32_size, bl33, fdt);
}
void imx8mn_load_bl33(void *bl33)
@@ -341,7 +344,7 @@ __noreturn void __imx8mn_load_and_start_image_via_tfa(void *fdt, void *bl33)
}
imx8m_tfa_start_bl31(bl31, bl31_size, (void *)MX8MN_ATF_BL31_BASE_ADDR,
- bl32, bl32_size);
+ bl32, bl32_size, bl33, fdt);
}
void imx8mq_load_bl33(void *bl33)
@@ -400,7 +403,7 @@ __noreturn void __imx8mq_load_and_start_image_via_tfa(void *fdt, void *bl33)
}
imx8m_tfa_start_bl31(bl31, bl31_size, (void *)MX8MQ_ATF_BL31_BASE_ADDR,
- bl32, bl32_size);
+ bl32, bl32_size, bl33, fdt);
}
void __noreturn imx93_load_and_start_image_via_tfa(void)
--
2.47.3
More information about the barebox
mailing list