Andrew Davis <a...@ti.com> writes:

> To workaround an issue in AM642 we reset the SoC in early boot. For that
> we first probed the sysreset driver by calling uclass_get_device(). The
> ti-sci sysreset driver is now probed during the ti-sci firmware probe.
> Update this call to probe the firmware driver which will then probe
> the sysreset driver allowing do_reset() to again function as expected.
>
> Reported-by: Jonathan Humphreys <j-humphr...@ti.com>
> Fixes: fc5d40283483 ("firmware: ti_sci: Bind sysreset driver when enabled")
> Signed-off-by: Andrew Davis <a...@ti.com>
> ---
>  arch/arm/mach-k3/am642_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-k3/am642_init.c b/arch/arm/mach-k3/am642_init.c
> index ddf47ef0a9b..80c3cb3479f 100644
> --- a/arch/arm/mach-k3/am642_init.c
> +++ b/arch/arm/mach-k3/am642_init.c
> @@ -226,7 +226,7 @@ void board_init_f(ulong dummy)
>        * The warm reset realigns internal clocks and prevents the lockup from
>        * happening.
>        */
> -     ret = uclass_first_device_err(UCLASS_SYSRESET, &dev);
> +     ret = uclass_get_device_by_driver(UCLASS_FIRMWARE, 
> DM_DRIVER_GET(ti_sci), &dev);
>       if (ret)
>               printf("\n%s:uclass device error [%d]\n",__func__,ret);
>  
> -- 
> 2.39.2
Tested-by: Kamlesh Gurudasani <kaml...@ti.com>

on am64x-evm

Reply via email to