diff options
author | Artiste Hsu <chhsu@nvidia.com> | 2011-11-09 12:40:49 +0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:12 -0800 |
commit | 760c58bf5cd0d0e4a1c2ec889e91baa9d3922a05 (patch) | |
tree | 294d468d4fc4441f27c9d04e287c31f87e8175c7 /arch/arm/mach-tegra/usb_phy.c | |
parent | 704faef69204a8a92e6fbc2d6d54ca7869aace77 (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.c | 5 |
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) { |