ARM: tegra: Remove pen-locking from cpuidle-tegra20
[linux-2.6-microblaze.git] / arch / arm / mach-tegra / pm.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2010 Google, Inc.
4  * Copyright (c) 2010-2012 NVIDIA Corporation. All rights reserved.
5  *
6  * Author:
7  *      Colin Cross <ccross@google.com>
8  */
9
10 #ifndef _MACH_TEGRA_PM_H_
11 #define _MACH_TEGRA_PM_H_
12
13 struct tegra_lp1_iram {
14         void    *start_addr;
15         void    *end_addr;
16 };
17
18 extern struct tegra_lp1_iram tegra_lp1_iram;
19 extern void (*tegra_sleep_core_finish)(unsigned long v2p);
20
21 void tegra20_lp1_iram_hook(void);
22 void tegra20_sleep_core_init(void);
23 void tegra30_lp1_iram_hook(void);
24 void tegra30_sleep_core_init(void);
25
26 void tegra_clear_cpu_in_lp2(void);
27 bool tegra_set_cpu_in_lp2(void);
28 void tegra_idle_lp2_last(void);
29 extern void (*tegra_tear_down_cpu)(void);
30
31 #ifdef CONFIG_PM_SLEEP
32 void tegra_init_suspend(void);
33 int tegra_pm_park_secondary_cpu(unsigned long cpu);
34 #else
35 static inline void tegra_init_suspend(void) {}
36 static inline int tegra_pm_park_secondary_cpu(unsigned long cpu)
37 {
38         return -ENOTSUPP;
39 }
40 #endif
41
42 #endif /* _MACH_TEGRA_PM_H_ */