usb: musb: dsps: Call usb_phy(_shutdown/_init) during musb_platform_reset()
authorGeorge Cherian <george.cherian@ti.com>
Mon, 26 May 2014 09:20:10 +0000 (14:50 +0530)
committerFelipe Balbi <balbi@ti.com>
Mon, 30 Jun 2014 17:27:54 +0000 (12:27 -0500)
For DSPS platform usb_phy_vbus(_off/_on) are NOPs.
So during musb_platform_reset() call usb_phy(_shutdown/_init)

Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_dsps.c

index 56c5d3fd6f6cd81c1938a7e619637217c2c7c323..b29f59f718bb6266e45b8846cbf1f4301962b067 100644 (file)
@@ -551,7 +551,11 @@ static void dsps_musb_reset(struct musb *musb)
        const struct dsps_musb_wrapper *wrp = glue->wrp;
 
        dsps_writel(musb->ctrl_base, wrp->control, (1 << wrp->reset));
-       udelay(100);
+       usleep_range(100, 200);
+       usb_phy_shutdown(musb->xceiv);
+       usleep_range(100, 200);
+       usb_phy_init(musb->xceiv);
+
 }
 
 static struct musb_platform_ops dsps_ops = {