
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-humphreys@ti.com Fixes: fc5d40283483 ("firmware: ti_sci: Bind sysreset driver when enabled") Signed-off-by: Andrew Davis afd@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);