summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/usb_phy.c
diff options
context:
space:
mode:
authorMichael Hsu <mhsu@nvidia.com>2011-05-06 18:47:51 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-06-06 13:10:20 -0700
commitcc45959ba6f250e5067546ec6aad1c721fe37d90 (patch)
treeb6f0fd8a5836d3c4b00e9277bd2c7085cbe1c79c /arch/arm/mach-tegra/usb_phy.c
parent5ae6674607485fbcdc19242d8e3d7f1517ae4f2f (diff)
arm: tegra: hsic: Remove use of hsic hub reset gpio on non-PM267 boards.
Only PM267 board has SMSC4640 HSIC hub, which requires reset signal. Do not use HSIC hub reset gpio on non-PM267 boards. Change-Id: I12d33aeab1a0c67b429e651ad373bd71ac6938cc Reviewed-on: http://git-master/r/30786 Reviewed-by: Niket Sirsi <nsirsi@nvidia.com> Tested-by: Niket Sirsi <nsirsi@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/usb_phy.c')
-rw-r--r--arch/arm/mach-tegra/usb_phy.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/usb_phy.c b/arch/arm/mach-tegra/usb_phy.c
index d5cecaaea104..a563245ee040 100644
--- a/arch/arm/mach-tegra/usb_phy.c
+++ b/arch/arm/mach-tegra/usb_phy.c
@@ -1577,22 +1577,26 @@ struct tegra_usb_phy *tegra_usb_phy_open(int instance, void __iomem *regs,
ulpi_config = config;
gpio_request(ulpi_config->enable_gpio,
"uhsic_enable");
- gpio_request(ulpi_config->reset_gpio,
- "uhsic_reset");
+ if (ulpi_config->reset_gpio != -1)
+ gpio_request(ulpi_config->reset_gpio,
+ "uhsic_reset");
/* hsic enable signal deasserted, hsic reset asserted */
gpio_direction_output(ulpi_config->enable_gpio,
0 /* deasserted */);
- gpio_direction_output(ulpi_config->reset_gpio,
- 0 /* asserted */);
+ if (ulpi_config->reset_gpio != -1)
+ gpio_direction_output(ulpi_config->reset_gpio,
+ 0 /* asserted */);
tegra_gpio_enable(ulpi_config->enable_gpio);
- tegra_gpio_enable(ulpi_config->reset_gpio);
+ if (ulpi_config->reset_gpio != -1)
+ tegra_gpio_enable(ulpi_config->reset_gpio);
/* keep hsic reset asserted for 1 ms */
udelay(1000);
/* enable (power on) hsic */
gpio_set_value_cansleep(ulpi_config->enable_gpio, 1);
udelay(1000);
/* deassert reset */
- gpio_set_value_cansleep(ulpi_config->reset_gpio, 1);
+ if (ulpi_config->reset_gpio != -1)
+ gpio_set_value_cansleep(ulpi_config->reset_gpio, 1);
}
#endif