aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Davis2024-04-18 12:58:28 -0500
committerTom Rini2024-04-29 10:53:56 -0600
commit4b3706607c0015ba99a86d8631446564c117e06a (patch)
treeba408f7eea7ad455b34909b0a598f042c68d5bf1
parent3104b162632382c335aaed11a39b85a3f2f818f2 (diff)
arm: mach-k3: am642: Fix reset for workaround errata ID i2331
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> Tested-by: Wadim Egorov <w.egorov@phytec.de> Tested-by: Kamlesh Gurudasani <kamlesh@ti.com>
-rw-r--r--arch/arm/mach-k3/am642_init.c2
1 files changed, 1 insertions, 1 deletions
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);