usb: xhci: dwc3: Adding reset delay requirement as per dwc3 databook
authorRajesh Bhagat <rajesh.bhagat@freescale.com>
Wed, 2 Dec 2015 06:14:27 +0000 (11:44 +0530)
committerMarek Vasut <marex@denx.de>
Sun, 6 Dec 2015 23:15:00 +0000 (00:15 +0100)
As per dwc3 databook, delay is required before taking the core out of reset.
This delay is required so that the PHY are stable, and then we can take core
out of reset.

Reference is taken from linux dwc3 code, file: drivers/usb/dwc3/core.c.

Signed-off-by: Sriram Dash <sriram.dash@freescale.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@freescale.com>
drivers/usb/host/xhci-dwc3.c

index c722c504adaac3a969d61bae6b3426b38eabc26a..33961cd63455ff7353481ffb9a798e67a29d34fb 100644 (file)
@@ -44,6 +44,8 @@ void dwc3_core_soft_reset(struct dwc3 *dwc3_reg)
        /* reset USB3 phy - if required */
        dwc3_phy_reset(dwc3_reg);
 
+       mdelay(100);
+
        /* After PHYs are stable we can take Core out of reset state */
        clrbits_le32(&dwc3_reg->g_ctl, DWC3_GCTL_CORESOFTRESET);
 }