Commit | Line | Data |
---|---|---|
d457ef35 JL |
1 | /* |
2 | * Copyright (C) 2010 Google, Inc. | |
3 | * Copyright (c) 2010-2012 NVIDIA Corporation. All rights reserved. | |
4 | * | |
5 | * Author: | |
6 | * Colin Cross <ccross@google.com> | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify it | |
9 | * under the terms and conditions of the GNU General Public License, | |
10 | * version 2, as published by the Free Software Foundation. | |
11 | * | |
12 | * This program is distributed in the hope it will be useful, but WITHOUT | |
13 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
15 | * more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
19 | */ | |
20 | ||
21 | #ifndef _MACH_TEGRA_PM_H_ | |
22 | #define _MACH_TEGRA_PM_H_ | |
23 | ||
95872f42 JL |
24 | struct tegra_lp1_iram { |
25 | void *start_addr; | |
26 | void *end_addr; | |
27 | }; | |
7232398a | 28 | |
95872f42 JL |
29 | extern struct tegra_lp1_iram tegra_lp1_iram; |
30 | extern void (*tegra_sleep_core_finish)(unsigned long v2p); | |
31 | ||
731a9274 JL |
32 | void tegra20_lp1_iram_hook(void); |
33 | void tegra20_sleep_core_init(void); | |
e7a932b1 JL |
34 | void tegra30_lp1_iram_hook(void); |
35 | void tegra30_sleep_core_init(void); | |
36 | ||
8f6a0b65 JL |
37 | void tegra_clear_cpu_in_lp2(void); |
38 | bool tegra_set_cpu_in_lp2(void); | |
fa45caf2 | 39 | int tegra_cpu_do_idle(void); |
4d82d058 | 40 | void tegra_idle_lp2_last(void); |
d552920a JL |
41 | extern void (*tegra_tear_down_cpu)(void); |
42 | ||
c8c2e606 | 43 | #ifdef CONFIG_PM_SLEEP |
c8c2e606 JL |
44 | void tegra_init_suspend(void); |
45 | #else | |
c8c2e606 JL |
46 | static inline void tegra_init_suspend(void) {} |
47 | #endif | |
48 | ||
d457ef35 | 49 | #endif /* _MACH_TEGRA_PM_H_ */ |