diff options
author | Vinayak Pane <vpane@nvidia.com> | 2012-05-30 17:14:18 -0700 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-06 17:31:33 -0700 |
commit | 3b080222a7b37c31fe73be90c3e681096f8b82dd (patch) | |
tree | 3aea9ed844ed571846257d790cee3b8b352129ad /arch/arm/mach-tegra/tegra3_usb_phy.c | |
parent | f9417ad159c43ae90f25c0ef978e2c37294d27a1 (diff) |
usb: ehci: tegra: fix hsic enum failure
HSIC device enumeration is broken after usb common
phy changes. Setting correct hsic config in port_power
and repairing wIndex in hub_control.
Bug 991485
Change-Id: Ic2873879070cba8a06fb2cadc40d6c46158f71e9
Signed-off-by: Vinayak Pane <vpane@nvidia.com>
Reviewed-on: http://git-master/r/105513
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/tegra3_usb_phy.c')
-rw-r--r-- | arch/arm/mach-tegra/tegra3_usb_phy.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/arm/mach-tegra/tegra3_usb_phy.c b/arch/arm/mach-tegra/tegra3_usb_phy.c index 8ada255cad55..ce2d54beb9b6 100644 --- a/arch/arm/mach-tegra/tegra3_usb_phy.c +++ b/arch/arm/mach-tegra/tegra3_usb_phy.c @@ -1925,9 +1925,6 @@ int uhsic_phy_bus_port_power(struct tegra_usb_phy *phy) void __iomem *base = phy->regs; DBG("%s(%d) inst:[%d]\n", __func__, __LINE__, phy->inst); - val = readl(base + UHSIC_STAT_CFG0); - val &= ~UHSIC_CONNECT_DETECT; - writel(val, base + UHSIC_STAT_CFG0); val = readl(base + USB_USBMODE); val |= USB_USBMODE_HOST; @@ -1952,13 +1949,10 @@ int uhsic_phy_bus_port_power(struct tegra_usb_phy *phy) val = readl(base + UHSIC_PADS_CFG1); val &= ~UHSIC_RPD_STROBE; - /* safe to enable RPU on STROBE at all times during idle */ - val |= UHSIC_RPU_STROBE; writel(val, base + UHSIC_PADS_CFG1); - val = readl(base + USB_USBCMD); - val &= ~USB_USBCMD_RS; - writel(val, base + USB_USBCMD); + if (phy->pdata->ops && phy->pdata->ops->port_power) + phy->pdata->ops->port_power(); if (usb_phy_reg_status_wait(base + UHSIC_STAT_CFG0, UHSIC_CONNECT_DETECT, UHSIC_CONNECT_DETECT, 25000)) { |