diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2011-08-19 20:10:41 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-08-26 15:16:42 -0700 |
commit | 62bd6d3070897dac929e528cda7e01353635ef2f (patch) | |
tree | 00a13414350ebc6d9cb368e2c70be9c2f235fb72 /arch/arm/mach-tegra/board-cardhu.c | |
parent | d5373be77bab3b991da34ed91023747f90e026dc (diff) |
arm: tegra: cardhu: HSIC config change for xmm modem
Avoid power down HSIC phy during L2 suspend state.
Triggered postsuspend and preresume actions for xmm modem.
BUG 828389
Change-Id: I2cd862361d5ba0fedf7e7bffac02c0dfbf5cf0c8
Reviewed-on: http://git-master/r/46654
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c index 9e5172ff3bf2..e06f41263ca7 100644 --- a/arch/arm/mach-tegra/board-cardhu.c +++ b/arch/arm/mach-tegra/board-cardhu.c @@ -845,6 +845,18 @@ static struct tegra_otg_platform_data tegra_otg_pdata = { .host_unregister = &tegra_usb_otg_host_unregister, }; +static int cardu_usb_hsic_postsupend(void) +{ + baseband_xmm_set_power_status(BBXMM_PS_L2); + return 0; +} + +static int cardu_usb_hsic_preresume(void) +{ + baseband_xmm_set_power_status(BBXMM_PS_L2TOL0); + return 0; +} + static void cardhu_usb_init(void) { struct board_info bi; @@ -867,6 +879,10 @@ static void cardhu_usb_init(void) tegra_ehci2_device.dev.platform_data = &tegra_ehci_uhsic_pdata; platform_device_register(&tegra_ehci2_device); } else if (bi.board_id == BOARD_E1186) { + /* for baseband devices do not switch off phy during suspend */ + tegra_ehci_uhsic_pdata.power_down_on_bus_suspend = 0; + uhsic_phy_config.postsuspend = cardu_usb_hsic_postsupend; + uhsic_phy_config.preresume = cardu_usb_hsic_preresume; tegra_ehci2_device.dev.platform_data = &tegra_ehci_uhsic_pdata; /* baseband registration happens in baseband-xmm-power */ } else { |