diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2011-09-08 15:11:12 +0530 |
---|---|---|
committer | Lokesh Pathak <lpathak@nvidia.com> | 2011-11-09 07:33:20 -0800 |
commit | 5f2fd2745a24dd07d02042fc73afba9c8aec553e (patch) | |
tree | c1c3a4caa2f6688b7190de3b75cf7fefe7c04d53 | |
parent | 9a9ee953d7d3f636ee8789eb57c18bc5a86d6d20 (diff) |
arm: tegra: enterprise: HSIC phy ready and phy off callbacks
Implemented HSIC phy ready and phy off callabacks for
enterprise board.
BUG 828389
Reviewed-on: http://git-master/r/52884
(cherry picked from commit fc919eab4be5012f9fd0fc7dbd4b7de7d5bff5db)
Change-Id: Ia3539e5982f4c0df5b9fca04c118ba8a6132431a
Reviewed-on: http://git-master/r/62975
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-by: Michael Hsu <mhsu@nvidia.com>
Reviewed-by: Steve Lin <stlin@nvidia.com>
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise.c b/arch/arm/mach-tegra/board-enterprise.c index 5e946682ad74..87d09d8ec611 100644 --- a/arch/arm/mach-tegra/board-enterprise.c +++ b/arch/arm/mach-tegra/board-enterprise.c @@ -803,7 +803,7 @@ static struct tegra_ehci_platform_data tegra_ehci_uhsic_pdata = { .phy_type = TEGRA_USB_PHY_TYPE_HSIC, .phy_config = &uhsic_phy_config, .operating_mode = TEGRA_USB_HOST, - .power_down_on_bus_suspend = 1, + .power_down_on_bus_suspend = 0, }; static struct tegra_ehci_platform_data tegra_ehci_pdata[] = { @@ -897,6 +897,22 @@ static int enterprise_usb_hsic_preresume(void) return 0; } +static int enterprise_usb_hsic_phy_ready(void) +{ +#ifdef CONFIG_TEGRA_BB_XMM_POWER + baseband_xmm_set_power_status(BBXMM_PS_L0); +#endif + return 0; +} + +static int enterprise_usb_hsic_phy_off(void) +{ +#ifdef CONFIG_TEGRA_BB_XMM_POWER + baseband_xmm_set_power_status(BBXMM_PS_L3); +#endif + return 0; +} + static void enterprise_usb_init(void) { #ifdef CONFIG_USB_ANDROID_RNDIS @@ -976,6 +992,8 @@ static void enterprise_baseband_init(void) tegra_ehci_uhsic_pdata.power_down_on_bus_suspend = 0; uhsic_phy_config.postsuspend = enterprise_usb_hsic_postsupend; uhsic_phy_config.preresume = enterprise_usb_hsic_preresume; + uhsic_phy_config.usb_phy_ready = enterprise_usb_hsic_phy_ready; + uhsic_phy_config.post_phy_off = enterprise_usb_hsic_phy_off; /* baseband-power.ko will register ehci2 device */ tegra_ehci2_device.dev.platform_data = &tegra_ehci_uhsic_pdata; |