[PATCH] phy: stm32-usphyc: add mdelay(1) to fix timeout on some machines
Michael Grzeschik
m.grzeschik at pengutronix.de
Tue Jan 24 12:31:19 PST 2023
An mdelay of 1 seems to be necessary on some machines, since
the monsel status does not seem to be accurate. On rare occasions just
working with the phy after this pll check lead to no functional usb.
With this short mdelay this issue was not reported again.
Signed-off-by: Michael Grzeschik <m.grzeschik at pengutronix.de>
---
drivers/phy/phy-stm32-usbphyc.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/phy/phy-stm32-usbphyc.c b/drivers/phy/phy-stm32-usbphyc.c
index 657824405f..aff6b60d5e 100644
--- a/drivers/phy/phy-stm32-usbphyc.c
+++ b/drivers/phy/phy-stm32-usbphyc.c
@@ -271,6 +271,15 @@ static int stm32_usbphyc_phy_init(struct phy *phy)
goto pll_disable;
}
+ /* This is a workaround that seems to be necessary on some
+ * machines, since the monsel status does not seem to be
+ * accurate. On rare occasions just working with the phy after
+ * this pll check the usb peripheral (e.g. on the dwc2) run into
+ * timeout issues and leading to no functional usb. With this
+ * short mdelay this issue was not reported again.
+ */
+ mdelay(1);
+
usbphyc_phy->active = true;
return 0;
--
2.30.2
More information about the barebox
mailing list