arm: tegra: la: la and ptsa updates for t14x.
[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 reset;
32                 int pwron;
33                 int awr;
34                 int cwr;
35                 int spare;
36                 int wdi;
37                 int rsvd1;
38                 int rsvd2;
39         } oem1;
40 };
41
42 typedef struct platform_device* (*ehci_register_cb)(struct platform_device *);
43 typedef void (*ehci_unregister_cb)(struct platform_device **);
44
45 struct tegra_bb_pdata {
46         /* List of platform gpios for modem */
47         union tegra_bb_gpio_id *id;
48         /* Ehci device pointer */
49         struct platform_device *device;
50         /* Ehci register callback */
51         ehci_register_cb ehci_register;
52         /* Ehci unregister callback */
53         ehci_unregister_cb ehci_unregister;
54         /* Baseband ID */
55         int bb_id;
56         /* HSIC rail regulator name. Provide a name if --
57         rail is shared and the co-owner will turn it off when done */
58         char *regulator;
59 };