aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pm.h')
-rw-r--r--arch/arm/mach-omap2/pm.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 8400f5768923..bd6466a2b039 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -11,20 +11,57 @@
11#ifndef __ARCH_ARM_MACH_OMAP2_PM_H 11#ifndef __ARCH_ARM_MACH_OMAP2_PM_H
12#define __ARCH_ARM_MACH_OMAP2_PM_H 12#define __ARCH_ARM_MACH_OMAP2_PM_H
13 13
14#include <mach/powerdomain.h> 14#include <plat/powerdomain.h>
15
16extern u32 enable_off_mode;
17extern u32 sleep_while_idle;
18
19extern void *omap3_secure_ram_storage;
20extern void omap3_pm_off_mode_enable(int);
21extern void omap_sram_idle(void);
22extern int omap3_can_sleep(void);
23extern int set_pwrdm_state(struct powerdomain *pwrdm, u32 state);
24extern int omap3_idle_init(void);
25
26struct cpuidle_params {
27 u8 valid;
28 u32 sleep_latency;
29 u32 wake_latency;
30 u32 threshold;
31};
32
33#if defined(CONFIG_PM) && defined(CONFIG_CPU_IDLE)
34extern void omap3_pm_init_cpuidle(struct cpuidle_params *cpuidle_board_params);
35#else
36static
37inline void omap3_pm_init_cpuidle(struct cpuidle_params *cpuidle_board_params)
38{
39}
40#endif
15 41
16extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm); 42extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm);
17extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state); 43extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state);
18 44
45extern u32 wakeup_timer_seconds;
46extern struct omap_dm_timer *gptimer_wakeup;
47
19#ifdef CONFIG_PM_DEBUG 48#ifdef CONFIG_PM_DEBUG
20extern void omap2_pm_dump(int mode, int resume, unsigned int us); 49extern void omap2_pm_dump(int mode, int resume, unsigned int us);
21extern int omap2_pm_debug; 50extern int omap2_pm_debug;
51#else
52#define omap2_pm_dump(mode, resume, us) do {} while (0);
53#define omap2_pm_debug 0
54#endif
55
56#if defined(CONFIG_CPU_IDLE)
57extern void omap3_cpuidle_update_states(void);
58#endif
59
60#if defined(CONFIG_PM_DEBUG) && defined(CONFIG_DEBUG_FS)
22extern void pm_dbg_update_time(struct powerdomain *pwrdm, int prev); 61extern void pm_dbg_update_time(struct powerdomain *pwrdm, int prev);
23extern int pm_dbg_regset_save(int reg_set); 62extern int pm_dbg_regset_save(int reg_set);
24extern int pm_dbg_regset_init(int reg_set); 63extern int pm_dbg_regset_init(int reg_set);
25#else 64#else
26#define omap2_pm_dump(mode, resume, us) do {} while (0);
27#define omap2_pm_debug 0
28#define pm_dbg_update_time(pwrdm, prev) do {} while (0); 65#define pm_dbg_update_time(pwrdm, prev) do {} while (0);
29#define pm_dbg_regset_save(reg_set) do {} while (0); 66#define pm_dbg_regset_save(reg_set) do {} while (0);
30#define pm_dbg_regset_init(reg_set) do {} while (0); 67#define pm_dbg_regset_init(reg_set) do {} while (0);
@@ -36,6 +73,7 @@ extern void omap24xx_cpu_suspend(u32 dll_ctrl, void __iomem *sdrc_dlla_ctrl,
36 void __iomem *sdrc_power); 73 void __iomem *sdrc_power);
37extern void omap34xx_cpu_suspend(u32 *addr, int save_state); 74extern void omap34xx_cpu_suspend(u32 *addr, int save_state);
38extern void save_secure_ram_context(u32 *addr); 75extern void save_secure_ram_context(u32 *addr);
76extern void omap3_save_scratchpad_contents(void);
39 77
40extern unsigned int omap24xx_idle_loop_suspend_sz; 78extern unsigned int omap24xx_idle_loop_suspend_sz;
41extern unsigned int omap34xx_suspend_sz; 79extern unsigned int omap34xx_suspend_sz;