diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/phy/phy-msm-usb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c index bb339963f8bb..db8d96377620 100644 --- a/drivers/usb/phy/phy-msm-usb.c +++ b/drivers/usb/phy/phy-msm-usb.c | |||
@@ -287,8 +287,9 @@ static int msm_link_reset(struct msm_otg *motg) | |||
287 | if (motg->phy_number) | 287 | if (motg->phy_number) |
288 | writel(readl(USB_PHY_CTRL2) | BIT(16), USB_PHY_CTRL2); | 288 | writel(readl(USB_PHY_CTRL2) | BIT(16), USB_PHY_CTRL2); |
289 | 289 | ||
290 | /* put transceiver in serial mode as part of reset */ | ||
290 | val = readl(USB_PORTSC) & ~PORTSC_PTS_MASK; | 291 | val = readl(USB_PORTSC) & ~PORTSC_PTS_MASK; |
291 | writel(val | PORTSC_PTS_ULPI, USB_PORTSC); | 292 | writel(val | PORTSC_PTS_SERIAL, USB_PORTSC); |
292 | 293 | ||
293 | return 0; | 294 | return 0; |
294 | } | 295 | } |
@@ -308,8 +309,9 @@ static int msm_otg_reset(struct usb_phy *phy) | |||
308 | if (cnt >= LINK_RESET_TIMEOUT_USEC) | 309 | if (cnt >= LINK_RESET_TIMEOUT_USEC) |
309 | return -ETIMEDOUT; | 310 | return -ETIMEDOUT; |
310 | 311 | ||
311 | /* select ULPI phy */ | 312 | /* select ULPI phy and clear other status/control bits in PORTSC */ |
312 | writel(0x80000000, USB_PORTSC); | 313 | writel(PORTSC_PTS_ULPI, USB_PORTSC); |
314 | |||
313 | writel(0x0, USB_AHBBURST); | 315 | writel(0x0, USB_AHBBURST); |
314 | writel(0x08, USB_AHBMODE); | 316 | writel(0x08, USB_AHBMODE); |
315 | 317 | ||