summaryrefslogtreecommitdiff
path: root/drivers/usb/musb/musb_dsps.c
diff options
context:
space:
mode:
authorGeorge Cherian <george.cherian@ti.com>2014-05-26 13:20:10 +0400
committerFelipe Balbi <balbi@ti.com>2014-06-30 21:27:54 +0400
commit56700178493eaab243b7b7b04077775cea6a87bd (patch)
tree15cf57bb5eac1d18a76be0f163febf07c2346d37 /drivers/usb/musb/musb_dsps.c
parent58b949e0842a4751eec77edd60bd6178cef5b8de (diff)
downloadlinux-56700178493eaab243b7b7b04077775cea6a87bd.tar.xz
usb: musb: dsps: Call usb_phy(_shutdown/_init) during musb_platform_reset()
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>
Diffstat (limited to 'drivers/usb/musb/musb_dsps.c')
-rw-r--r--drivers/usb/musb/musb_dsps.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
index 56c5d3fd6f6c..b29f59f718bb 100644
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -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 = {