Root/
1 | /* |
2 | * OMAP2/3 Power Management Routines |
3 | * |
4 | * Copyright (C) 2008 Nokia Corporation |
5 | * Jouni Hogander |
6 | * |
7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License version 2 as |
9 | * published by the Free Software Foundation. |
10 | */ |
11 | #ifndef __ARCH_ARM_MACH_OMAP2_PM_H |
12 | #define __ARCH_ARM_MACH_OMAP2_PM_H |
13 | |
14 | #include <plat/powerdomain.h> |
15 | |
16 | extern void *omap3_secure_ram_storage; |
17 | extern void omap3_pm_off_mode_enable(int); |
18 | extern void omap_sram_idle(void); |
19 | extern int omap3_can_sleep(void); |
20 | extern int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state); |
21 | extern int omap3_idle_init(void); |
22 | |
23 | struct cpuidle_params { |
24 | u8 valid; |
25 | u32 sleep_latency; |
26 | u32 wake_latency; |
27 | u32 threshold; |
28 | }; |
29 | |
30 | #if defined(CONFIG_PM) && defined(CONFIG_CPU_IDLE) |
31 | extern void omap3_pm_init_cpuidle(struct cpuidle_params *cpuidle_board_params); |
32 | #else |
33 | static |
34 | inline void omap3_pm_init_cpuidle(struct cpuidle_params *cpuidle_board_params) |
35 | { |
36 | } |
37 | #endif |
38 | |
39 | extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm); |
40 | extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state); |
41 | |
42 | extern u32 wakeup_timer_seconds; |
43 | extern u32 wakeup_timer_milliseconds; |
44 | extern struct omap_dm_timer *gptimer_wakeup; |
45 | |
46 | #ifdef CONFIG_PM_DEBUG |
47 | extern void omap2_pm_dump(int mode, int resume, unsigned int us); |
48 | extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds); |
49 | extern int omap2_pm_debug; |
50 | extern u32 enable_off_mode; |
51 | extern u32 sleep_while_idle; |
52 | #else |
53 | #define omap2_pm_dump(mode, resume, us) do {} while (0); |
54 | #define omap2_pm_wakeup_on_timer(seconds, milliseconds) do {} while (0); |
55 | #define omap2_pm_debug 0 |
56 | #define enable_off_mode 0 |
57 | #define sleep_while_idle 0 |
58 | #endif |
59 | |
60 | #if defined(CONFIG_CPU_IDLE) |
61 | extern void omap3_cpuidle_update_states(void); |
62 | #endif |
63 | |
64 | #if defined(CONFIG_PM_DEBUG) && defined(CONFIG_DEBUG_FS) |
65 | extern void pm_dbg_update_time(struct powerdomain *pwrdm, int prev); |
66 | extern int pm_dbg_regset_save(int reg_set); |
67 | extern int pm_dbg_regset_init(int reg_set); |
68 | #else |
69 | #define pm_dbg_update_time(pwrdm, prev) do {} while (0); |
70 | #define pm_dbg_regset_save(reg_set) do {} while (0); |
71 | #define pm_dbg_regset_init(reg_set) do {} while (0); |
72 | #endif /* CONFIG_PM_DEBUG */ |
73 | |
74 | extern void omap24xx_idle_loop_suspend(void); |
75 | |
76 | extern void omap24xx_cpu_suspend(u32 dll_ctrl, void __iomem *sdrc_dlla_ctrl, |
77 | void __iomem *sdrc_power); |
78 | extern void omap34xx_cpu_suspend(u32 *addr, int save_state); |
79 | extern void save_secure_ram_context(u32 *addr); |
80 | extern void omap3_save_scratchpad_contents(void); |
81 | |
82 | extern unsigned int omap24xx_idle_loop_suspend_sz; |
83 | extern unsigned int omap34xx_suspend_sz; |
84 | extern unsigned int save_secure_ram_context_sz; |
85 | extern unsigned int omap24xx_cpu_suspend_sz; |
86 | extern unsigned int omap34xx_cpu_suspend_sz; |
87 | |
88 | #endif |
89 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9