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 |


Reply via email to