diff options
Diffstat (limited to 'drivers/usb/phy/phy-msm-ssusb-qmp.c')
| -rw-r--r-- | drivers/usb/phy/phy-msm-ssusb-qmp.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/phy/phy-msm-ssusb-qmp.c b/drivers/usb/phy/phy-msm-ssusb-qmp.c index 6ba742076baa..2bc3c6fa417a 100644 --- a/drivers/usb/phy/phy-msm-ssusb-qmp.c +++ b/drivers/usb/phy/phy-msm-ssusb-qmp.c @@ -149,15 +149,17 @@ static void msm_ssusb_qmp_enable_autonomous(struct msm_ssphy_qmp *phy, if (enable) { msm_ssusb_qmp_clr_lfps_rxterm_int(phy); + val = readb_relaxed(phy->base + autonomous_mode_offset); + val |= ARCVR_DTCT_EN; if (phy->phy.flags & DEVICE_IN_SS_MODE) { - val = - readb_relaxed(phy->base + autonomous_mode_offset); - val |= ARCVR_DTCT_EN; val |= ALFPS_DTCT_EN; val &= ~ARCVR_DTCT_EVENT_SEL; - writeb_relaxed(val, phy->base + autonomous_mode_offset); + } else { + val &= ~ALFPS_DTCT_EN; + val |= ARCVR_DTCT_EVENT_SEL; } + writeb_relaxed(val, phy->base + autonomous_mode_offset); /* clamp phy level shifter to perform autonomous detection */ writel_relaxed(0x1, phy->vls_clamp_reg); } else { |
