diff options
author | Prashant Gaikwad <pgaikwad@nvidia.com> | 2011-03-24 13:05:50 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:46:26 -0800 |
commit | 901f38dfcf1af0b1ff3b911b4b9814b636bf8e37 (patch) | |
tree | 9f7062f22f891c14fce6d8252bbad9961f0f1cad /arch/arm/mach-tegra/board-whistler.c | |
parent | 712d0c87c548855dba20fa58eee51353225efcc4 (diff) |
ARM: tegra: whistler: power down usb3 on suspend
To turn off usb3 and usb3.emc clock, tegra-ehci.2 should be powered off
when bus is supended. Enable power_down_on_bus_suspend for usb3 (tegra-ehci.2).
Also added the platform data structure which is used when USB suspends.
Bug 807237
Change-Id: I9e975daeb2283bd811b2e32acda78b6fa0d9f2b4
Reviewed-on: http://git-master/r/24089
Tested-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: Ref4b904e6b50bc3a83d1500b912c8d8129bac76d
Diffstat (limited to 'arch/arm/mach-tegra/board-whistler.c')
-rw-r--r-- | arch/arm/mach-tegra/board-whistler.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-whistler.c b/arch/arm/mach-tegra/board-whistler.c index 04fd1cdc051a..6feb14d68144 100644 --- a/arch/arm/mach-tegra/board-whistler.c +++ b/arch/arm/mach-tegra/board-whistler.c @@ -246,12 +246,27 @@ static int __init whistler_scroll_init(void) return 0; } +static struct usb_phy_plat_data tegra_usb_phy_pdata[] = { + [0] = { + .instance = 0, + .vbus_irq = MAX8907C_INT_BASE + MAX8907C_IRQ_VCHG_DC_R, + .vbus_gpio = TEGRA_GPIO_PN6, + }, + [1] = { + .instance = 1, + .vbus_gpio = -1, + }, + [2] = { + .instance = 2, + .vbus_gpio = -1, + }, +}; static struct tegra_ehci_platform_data tegra_ehci_pdata[] = { [0] = { .phy_config = &utmi_phy_config[0], .operating_mode = TEGRA_USB_HOST, - .power_down_on_bus_suspend = 0, + .power_down_on_bus_suspend = 1, }, [1] = { .phy_config = &ulpi_phy_config, @@ -261,7 +276,7 @@ static struct tegra_ehci_platform_data tegra_ehci_pdata[] = { [2] = { .phy_config = &utmi_phy_config[1], .operating_mode = TEGRA_USB_HOST, - .power_down_on_bus_suspend = 0, + .power_down_on_bus_suspend = 1, }, }; @@ -342,6 +357,8 @@ static void __init whistler_power_off_init(void) static void whistler_usb_init(void) { + tegra_usb_phy_init(tegra_usb_phy_pdata, ARRAY_SIZE(tegra_usb_phy_pdata)); + tegra_otg_device.dev.platform_data = &tegra_otg_pdata; platform_device_register(&tegra_otg_device); |