diff options
author | Tom Rini | 2016-09-27 12:47:25 -0400 |
---|---|---|
committer | Tom Rini | 2016-09-27 12:47:25 -0400 |
commit | 40e1236afeeacdadfa3865f70fc7e3b8016acbe2 (patch) | |
tree | a915b83d54beceb8a5c4fa424c0bcb6df56238d8 /drivers/usb | |
parent | 6d5565608f385b89f528ecf5680410cdc6cf63e9 (diff) | |
parent | 8e5d804f890b32959cc9d9f9349ccd2ff4a744a0 (diff) |
Merge branch 'master' of git://git.denx.de/u-boot-tegra
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/ehci-tegra.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index eb54df471d9..e3620da15fb 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -600,9 +600,18 @@ static int init_ulpi_usb_controller(struct fdt_usb *config, /* reset ULPI phy */ if (dm_gpio_is_valid(&config->phy_reset_gpio)) { - dm_gpio_set_value(&config->phy_reset_gpio, 0); - mdelay(5); + /* + * This GPIO is typically active-low, and marked as such in + * device tree. dm_gpio_set_value() takes this into account + * and inverts the value we pass here if required. In other + * words, this first call logically asserts the reset signal, + * which typically results in driving the physical GPIO low, + * and the second call logically de-asserts the reset signal, + * which typically results in driver the GPIO high. + */ dm_gpio_set_value(&config->phy_reset_gpio, 1); + mdelay(5); + dm_gpio_set_value(&config->phy_reset_gpio, 0); } /* Reset the usb controller */ |