Reset the hardware to be sure of the device state.

Signed-off-by: Patrick Delaunay <patrick.delau...@st.com>
---

 drivers/usb/gadget/dwc2_udc_otg.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/dwc2_udc_otg.c 
b/drivers/usb/gadget/dwc2_udc_otg.c
index af16fc1..8169fdb 100644
--- a/drivers/usb/gadget/dwc2_udc_otg.c
+++ b/drivers/usb/gadget/dwc2_udc_otg.c
@@ -1049,7 +1049,12 @@ static int dwc2_udc_otg_reset_init(struct udevice *dev,
        if (ret)
                return ret;
 
-       ret = reset_deassert_bulk(resets);
+       ret = reset_assert_bulk(resets);
+
+       if (!ret) {
+               udelay(2);
+               ret = reset_deassert_bulk(resets);
+       }
        if (ret) {
                reset_release_bulk(resets);
                return ret;
-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to