usb: phy: qmp: Select usb3 phy mode before initializing PHY

Make sure the USB3/DP PHY mode selection is switched back to
USB3 mode before proceeding with PHY initialization. This fixes
a bug when DisplayPort previously uses the PHY and does not
switch it back which causes the POWER_DOWN_CONTROL register write
to not take effect and results in USB3 PHY initialization failure.

Change-Id: Idad0f80eda6192ccae9e824f1f76c7071806ffec
Signed-off-by: Jack Pham <jackp@codeaurora.org>
This commit is contained in:
Jack Pham 2016-12-09 11:19:04 -08:00
parent 5142c18bae
commit a3e98f0134

View file

@ -307,13 +307,13 @@ static int msm_ssphy_qmp_init(struct usb_phy *uphy)
phy->clk_enabled = true; phy->clk_enabled = true;
} }
writel_relaxed(0x01,
phy->base + phy->phy_reg[USB3_PHY_POWER_DOWN_CONTROL]);
/* select usb3 phy mode */ /* select usb3 phy mode */
if (phy->tcsr_usb3_dp_phymode) if (phy->tcsr_usb3_dp_phymode)
writel_relaxed(0x0, phy->tcsr_usb3_dp_phymode); writel_relaxed(0x0, phy->tcsr_usb3_dp_phymode);
writel_relaxed(0x01,
phy->base + phy->phy_reg[USB3_PHY_POWER_DOWN_CONTROL]);
/* Make sure that above write completed to get PHY into POWER DOWN */ /* Make sure that above write completed to get PHY into POWER DOWN */
mb(); mb();