misc: tegra-baseband: Add power management driver.
[linux-3.10.git] / arch / arm / mach-tegra / include / mach / tegra-bb-power.h
1 /*
2  * arch/arm/mach-tegra/include/mach/tegra-bb-power.h
3  *
4  * Copyright (C) 2011 NVIDIA Corporation
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #define GPIO_INVALID UINT_MAX
18
19 union tegra_bb_gpio_id {
20         struct {
21                 int mdm_reset;
22                 int mdm_on;
23                 int ap2mdm_ack;
24                 int mdm2ap_ack;
25                 int ap2mdm_ack2;
26                 int mdm2ap_ack2;
27                 int rsvd1;
28                 int rsvd2;
29         } generic;
30         struct {
31                 int bb_rst;
32                 int bb_on;
33                 int ipc_bb_wake;
34                 int ipc_ap_wake;
35                 int ipc_hsic_active;
36                 int ipc_hsic_sus_req;
37                 int rsvd1;
38                 int rsvd2;
39         } xmm;
40         struct {
41                 int pwr_status;
42                 int pwr_on;
43                 int uart_awr;
44                 int uart_cwr;
45                 int usb_awr;
46                 int usb_cwr;
47                 int service;
48                 int resout2;
49         } m7400;
50 };
51
52 struct tegra_bb_pdata {
53         union tegra_bb_gpio_id *id;
54         struct platform_device *device;
55         int bb_id;
56 };