aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/phy
diff options
context:
space:
mode:
authorTim Bird <tbird20d@gmail.com>2014-04-28 09:34:19 -0400
committerFelipe Balbi <balbi@ti.com>2014-04-30 12:29:40 -0400
commit9f27984b9e098ce0a35b210ec0315c76108494e4 (patch)
treebee39ae23a360c05059d13e8edaee6526d28ac38 /drivers/usb/phy
parentd69c6f5df376ea40df5886468b155f515fddfbb2 (diff)
usb: phy: msm: Fix PTS definitions for MSM USB controller
Fix the value used for Parallel Transceiver Select (PTS) for the MSM USB controller. This is a standard chipidea PORTSC definition, where a PHY_TYPE of 10b (<<30) is ULPI and 11b (<<30) is SERIAL. Fix the definitions and use them correctly in the driver code. Signed-off-by: Tim Bird <tim.bird@sonymobile.com> Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/phy')
-rw-r--r--drivers/usb/phy/phy-msm-usb.c8
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