|
@@ -997,6 +997,15 @@ int dwc3_init(struct dwc3 *dwc)
|
|
|
dwc3_writel(dwc->regs, DWC3_GUCTL1, reg);
|
|
|
}
|
|
|
|
|
|
+ if (dwc->dr_mode == USB_DR_MODE_HOST ||
|
|
|
+ dwc->dr_mode == USB_DR_MODE_OTG) {
|
|
|
+ reg = dwc3_readl(dwc->regs, DWC3_GUCTL);
|
|
|
+
|
|
|
+ reg |= DWC3_GUCTL_HSTINAUTORETRY;
|
|
|
+
|
|
|
+ dwc3_writel(dwc->regs, DWC3_GUCTL, reg);
|
|
|
+ }
|
|
|
+
|
|
|
ret = dwc3_core_init_mode(dwc);
|
|
|
if (ret)
|
|
|
goto mode_fail;
|