ARM: tegra: usb_phy: Disable disconnect detection during resume

Change-Id: I30a45dc7e7a87773a93c128877d0f0827e5d44b7
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
This commit is contained in:
Jay Cheng
2010-11-22 11:03:52 -05:00
committed by Benoit Goby
parent d6f7633ef2
commit c543614360
2 changed files with 38 additions and 2 deletions

View File

@@ -79,6 +79,10 @@ int tegra_usb_phy_clk_enable(struct tegra_usb_phy *phy);
int tegra_usb_phy_power_off(struct tegra_usb_phy *phy);
int tegra_usb_phy_preresume(struct tegra_usb_phy *phy);
int tegra_usb_phy_postresume(struct tegra_usb_phy *phy);
int tegra_usb_phy_close(struct tegra_usb_phy *phy);
#endif //__MACH_USB_PHY_H

View File

@@ -347,8 +347,6 @@ static void utmi_phy_power_on(struct tegra_usb_phy *phy)
val = readl(base + UTMIP_TX_CFG0);
val &= ~UTMIP_FS_PREABMLE_J;
if (phy->instance == 2)
val |= UTMIP_HS_DISCON_DISABLE;
writel(val, base + UTMIP_TX_CFG0);
val = readl(base + UTMIP_HSRX_CFG0);
@@ -481,6 +479,26 @@ static void utmi_phy_power_off(struct tegra_usb_phy *phy)
utmip_pad_power_off(phy);
}
static void utmi_phy_preresume(struct tegra_usb_phy *phy)
{
unsigned long val;
void __iomem *base = phy->regs;
val = readl(base + UTMIP_TX_CFG0);
val |= UTMIP_HS_DISCON_DISABLE;
writel(val, base + UTMIP_TX_CFG0);
}
static void utmi_phy_postresume(struct tegra_usb_phy *phy)
{
unsigned long val;
void __iomem *base = phy->regs;
val = readl(base + UTMIP_TX_CFG0);
val &= ~UTMIP_HS_DISCON_DISABLE;
writel(val, base + UTMIP_TX_CFG0);
}
static void ulpi_viewport_write(struct tegra_usb_phy *phy, u8 addr, u8 data)
{
unsigned long val;
@@ -672,6 +690,20 @@ int tegra_usb_phy_power_off(struct tegra_usb_phy *phy)
return 0;
}
int tegra_usb_phy_preresume(struct tegra_usb_phy *phy)
{
if (phy->instance == 2)
utmi_phy_preresume(phy);
return 0;
}
int tegra_usb_phy_postresume(struct tegra_usb_phy *phy)
{
if (phy->instance == 2)
utmi_phy_postresume(phy);
return 0;
}
int tegra_usb_phy_clk_disable(struct tegra_usb_phy *phy)
{
if (phy->instance != 1)