summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2011-09-08 15:11:12 +0530
committerSimone Willett <swillett@nvidia.com>2011-10-14 18:34:34 -0700
commitfc919eab4be5012f9fd0fc7dbd4b7de7d5bff5db (patch)
tree29f30370c459fcf7a30f78f02dca25769d82fa6a /arch
parent9d2e1e07c00d1f84dc24ccb861c5fb9ca751cb9c (diff)
arm: tegra: enterprise: HSIC phy ready and phy off callbacks
Implemented HSIC phy ready and phy off callabacks for enterprise board. BUG 828389 Change-Id: I553af1d370b8df587cb79f914667cf59d46129b9 Reviewed-on: http://git-master/r/52884 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-enterprise.c20
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 cccec1412f92..ffdd3e04c926 100644
--- a/arch/arm/mach-tegra/board-enterprise.c
+++ b/arch/arm/mach-tegra/board-enterprise.c
@@ -776,7 +776,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[] = {
@@ -870,6 +870,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
@@ -953,6 +969,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;