summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2011-07-14 18:19:41 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-07-15 14:42:27 -0700
commit6259e05c3c5ac671a65bb3bf86153be0e0312b21 (patch)
tree9454a5119ca108630f83c978291984d2d1b40d01
parent99b8fbcbbdcd0aa309979756f7e37c005489659e (diff)
arm: tegra: usb_phy: enable utmip phy
UTMIP_PHY_ENABLE bit should be set, otherwise phy won't work. Also, modified the logic of turning power ON of pad circuit. Bug 846719 Change-Id: I1ea654322db9a70b3007b06309dc3cc753b23edf Reviewed-on: http://git-master/r/41038 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/usb_phy.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c
index 2a56da4bcd39..8c9f9fafeeb3 100644
--- a/arch/arm/mach-tegra/usb_phy.c
+++ b/arch/arm/mach-tegra/usb_phy.c
@@ -561,15 +561,14 @@ static int utmip_pad_power_on(struct tegra_usb_phy *phy)
spin_lock_irqsave(&utmip_pad_lock, flags);
- if (utmip_pad_count++ == 0) {
- val = readl(base + UTMIP_BIAS_CFG0);
- val &= ~(UTMIP_OTGPD | UTMIP_BIASPD);
+ utmip_pad_count++;
+ val = readl(base + UTMIP_BIAS_CFG0);
+ val &= ~(UTMIP_OTGPD | UTMIP_BIASPD);
#ifndef CONFIG_ARCH_TEGRA_2x_SOC
- val |= UTMIP_HSSQUELCH_LEVEL(0x2) | UTMIP_HSDISCON_LEVEL(0x2) |
- UTMIP_HSDISCON_LEVEL_MSB;
+ val |= UTMIP_HSSQUELCH_LEVEL(0x2) | UTMIP_HSDISCON_LEVEL(0x2) |
+ UTMIP_HSDISCON_LEVEL_MSB;
#endif
- writel(val, base + UTMIP_BIAS_CFG0);
- }
+ writel(val, base + UTMIP_BIAS_CFG0);
spin_unlock_irqrestore(&utmip_pad_lock, flags);
@@ -843,11 +842,9 @@ static int utmi_phy_power_on(struct tegra_usb_phy *phy, bool is_dpd)
writel(val, base + USB_SUSP_CTRL);
}
#else
- if ((phy->instance == 1) || (phy->instance == 2)) {
- val = readl(base + USB_SUSP_CTRL);
- val |= UTMIP_PHY_ENABLE;
- writel(val, base + USB_SUSP_CTRL);
- }
+ val = readl(base + USB_SUSP_CTRL);
+ val |= UTMIP_PHY_ENABLE;
+ writel(val, base + USB_SUSP_CTRL);
#endif
val = readl(base + USB_SUSP_CTRL);