On 11/10/25 9:34 PM, Marco Felsch wrote: > 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. > > Signed-off-by: Marco Felsch <[email protected]>
Reviewed-by: Ahmad Fatoum <[email protected]> > --- > 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 > 531ded2c57b1f194a2f209161ea086f41fccf58f..f4d4774b9eec798dd69042560d83f7313c0cb74f > 100644 > --- a/arch/arm/mach-imx/atf.c > +++ b/arch/arm/mach-imx/atf.c > @@ -44,6 +44,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: > * > @@ -63,7 +66,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; > @@ -196,7 +199,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) > @@ -260,7 +263,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) > @@ -324,7 +327,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) > @@ -382,7 +385,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) > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
