summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/usb_phy.c
diff options
context:
space:
mode:
authorArtiste Hsu <chhsu@nvidia.com>2011-11-09 12:40:49 +0800
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:50:12 -0800
commit760c58bf5cd0d0e4a1c2ec889e91baa9d3922a05 (patch)
tree294d468d4fc4441f27c9d04e287c31f87e8175c7 /arch/arm/mach-tegra/usb_phy.c
parent704faef69204a8a92e6fbc2d6d54ca7869aace77 (diff)
usb: host: tegra: configure hotplug in usb phy driver
Properly configure USB_PORTSC1_WKCN and USB_PHY_CLK_VALID_INT_ENB to avoid unexpected irq. Bug 888035 Bug 902149 Reviewed on http://git-master/r/#change,63176 Change-Id: I098adbb68c93d758777c10282ab8958b0ab71be6 Reviewed-on: http://git-master/r/65049 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R951345ce7f91a79361911872cfbf297e1ecd2e7f
Diffstat (limited to 'arch/arm/mach-tegra/usb_phy.c')
-rw-r--r--arch/arm/mach-tegra/usb_phy.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c
index 0255349b35fe..349877074b93 100644
--- a/arch/arm/mach-tegra/usb_phy.c
+++ b/arch/arm/mach-tegra/usb_phy.c
@@ -1339,7 +1339,7 @@ static int utmi_phy_power_off(struct tegra_usb_phy *phy, bool is_dpd)
writel(val, base + UTMIP_BIAS_CFG1);
#endif
- if (phy->instance == 2) {
+ if (phy->hotplug) {
val = readl(base + USB_PORTSC1);
val |= USB_PORTSC1_WKCN;
writel(val, base + USB_PORTSC1);
@@ -1352,7 +1352,7 @@ static int utmi_phy_power_off(struct tegra_usb_phy *phy, bool is_dpd)
utmi_phy_clk_disable(phy);
- if (phy->instance == 2) {
+ if (phy->hotplug) {
val = readl(base + USB_SUSP_CTRL);
val |= USB_PHY_CLK_VALID_INT_ENB;
writel(val, base + USB_SUSP_CTRL);
@@ -2215,6 +2215,7 @@ struct tegra_usb_phy *tegra_usb_phy_open(int instance, void __iomem *regs,
phy->regulator_on = 0;
phy->power_on = 0;
phy->remote_wakeup = false;
+ phy->hotplug = 0;
phy->xcvr_setup_value = 0;
if (!phy->config) {