arm: tegra: sd: enable sd dpd
[linux-2.6.git] / arch / arm / mach-tegra / wakeups.h
1 /*
2  * Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms and conditions of the GNU General Public License,
6  * version 2, as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #ifndef __WAKEUPS_H_
18 #define __WAKEUPS_H_
19
20 struct wake_mask_types {
21         u64 wake_mask_hi;
22         u64 wake_mask_lo;
23         u64 wake_mask_any;
24 };
25
26 /* sets 64-bit wake mask argument bits for wake sources given an irq */
27 int tegra_irq_to_wake(unsigned int irq, int flow_type,
28         struct wake_mask_types *wake_msk);
29 /*
30  * given wake source index, returns irq number or negative value for error
31  */
32 int tegra_wake_to_irq(int wake);
33 /* disable selected wake source setting for particular board */
34 int tegra_disable_wake_source(int wake);
35
36 enum wake_polarity {
37         POLARITY_NONE = 0,
38         POLARITY_LEVEL_HI,
39         POLARITY_LEVEL_LO,
40         POLARITY_EDGE_ANY
41 };
42
43 struct tegra_wake_info {
44         int irq;
45         enum wake_polarity polarity;
46 };
47
48 #endif /* end __WAKEUPS_H_ */