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 | ||
c8c2e606 JL |
24 | #include "pmc.h" |
25 | ||
95872f42 JL |
26 | struct tegra_lp1_iram { |
27 | void *start_addr; | |
28 | void *end_addr; | |
29 | }; | |
30 | extern struct tegra_lp1_iram tegra_lp1_iram; | |
31 | extern void (*tegra_sleep_core_finish)(unsigned long v2p); | |
32 | ||
731a9274 JL |
33 | void tegra20_lp1_iram_hook(void); |
34 | void tegra20_sleep_core_init(void); | |
e7a932b1 JL |
35 | void tegra30_lp1_iram_hook(void); |
36 | void tegra30_sleep_core_init(void); | |
37 | ||
29a0e7be JL |
38 | extern unsigned long l2x0_saved_regs_addr; |
39 | ||
8f6a0b65 JL |
40 | void tegra_clear_cpu_in_lp2(void); |
41 | bool tegra_set_cpu_in_lp2(void); | |
d457ef35 | 42 | |
4d82d058 | 43 | void tegra_idle_lp2_last(void); |
d552920a JL |
44 | extern void (*tegra_tear_down_cpu)(void); |
45 | ||
c8c2e606 JL |
46 | #ifdef CONFIG_PM_SLEEP |
47 | enum tegra_suspend_mode tegra_pm_validate_suspend_mode( | |
48 | enum tegra_suspend_mode mode); | |
49 | void tegra_init_suspend(void); | |
50 | #else | |
128673b3 | 51 | static inline enum tegra_suspend_mode tegra_pm_validate_suspend_mode( |
c8c2e606 JL |
52 | enum tegra_suspend_mode mode) |
53 | { | |
54 | return TEGRA_SUSPEND_NONE; | |
55 | } | |
56 | static inline void tegra_init_suspend(void) {} | |
57 | #endif | |
58 | ||
d457ef35 | 59 | #endif /* _MACH_TEGRA_PM_H_ */ |