mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 21:07:02 +09:00
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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user