summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/baseband-xmm-power.h
diff options
context:
space:
mode:
authorSeshendra Gadagottu <sgadagottu@nvidia.com>2011-07-20 16:52:03 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:51 -0800
commit221b967e50b6c6cf0e10e433dd0612fdba6ecd5f (patch)
tree3e08ea8f7fe67124ce57c8130d13fe40ac3629db /arch/arm/mach-tegra/baseband-xmm-power.h
parentd091250f3de360cc59248dca991ba7ea084d9eba (diff)
arm: tegra: Implement HSIC power management for baseband devices.
Add power management for HSIC baseband power module. Currently the power module implemented state handling for L0->L3 and L3->L0 state transitions. BUG 828389 Original-Change-Id: I46b7da66bfa85fac57261ec68668435855739981 Reviewed-on: http://git-master/r/33065 Tested-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Rebase-Id: R2d04847c5dc12db17b49ec62a4e12f061bca29fe
Diffstat (limited to 'arch/arm/mach-tegra/baseband-xmm-power.h')
-rw-r--r--arch/arm/mach-tegra/baseband-xmm-power.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/baseband-xmm-power.h b/arch/arm/mach-tegra/baseband-xmm-power.h
new file mode 100644
index 000000000000..cf6f49b54cfa
--- /dev/null
+++ b/arch/arm/mach-tegra/baseband-xmm-power.h
@@ -0,0 +1,46 @@
+/*
+ * arch/arm/mach-tegra/baseband-xmm-power.h
+ *
+ * Copyright (C) 2011 NVIDIA Corporation
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <linux/pm.h>
+#include <linux/suspend.h>
+
+enum baseband_type {
+ BASEBAND_XMM,
+};
+
+struct baseband_power_platform_data {
+ enum baseband_type baseband_type;
+ union {
+ struct {
+ int mdm_reset;
+ int mdm_on;
+ int ap2mdm_ack;
+ int mdm2ap_ack;
+ int ap2mdm_ack2;
+ int mdm2ap_ack2;
+ struct platform_device *device;
+ } generic;
+ struct {
+ int bb_rst;
+ int bb_on;
+ int ipc_bb_wake;
+ int ipc_ap_wake;
+ int ipc_hsic_active;
+ int ipc_hsic_sus_req;
+ struct platform_device *hsic_device;
+ } xmm;
+ } modem;
+};