diff options
Diffstat (limited to 'arch/arm/mach-tegra/sleep.h')
-rw-r--r-- | arch/arm/mach-tegra/sleep.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/sleep.h b/arch/arm/mach-tegra/sleep.h index 9821ee725420..4ffae541726e 100644 --- a/arch/arm/mach-tegra/sleep.h +++ b/arch/arm/mach-tegra/sleep.h | |||
@@ -25,6 +25,19 @@ | |||
25 | + IO_PPSB_VIRT) | 25 | + IO_PPSB_VIRT) |
26 | #define TEGRA_CLK_RESET_VIRT (TEGRA_CLK_RESET_BASE - IO_PPSB_PHYS \ | 26 | #define TEGRA_CLK_RESET_VIRT (TEGRA_CLK_RESET_BASE - IO_PPSB_PHYS \ |
27 | + IO_PPSB_VIRT) | 27 | + IO_PPSB_VIRT) |
28 | #define TEGRA_PMC_VIRT (TEGRA_PMC_BASE - IO_APB_PHYS + IO_APB_VIRT) | ||
29 | |||
30 | /* PMC_SCRATCH37-39 and 41 are used for tegra_pen_lock and idle */ | ||
31 | #define PMC_SCRATCH37 0x130 | ||
32 | #define PMC_SCRATCH38 0x134 | ||
33 | #define PMC_SCRATCH39 0x138 | ||
34 | #define PMC_SCRATCH41 0x140 | ||
35 | |||
36 | #ifdef CONFIG_ARCH_TEGRA_2x_SOC | ||
37 | #define CPU_RESETTABLE 2 | ||
38 | #define CPU_RESETTABLE_SOON 1 | ||
39 | #define CPU_NOT_RESETTABLE 0 | ||
40 | #endif | ||
28 | 41 | ||
29 | #ifdef __ASSEMBLY__ | 42 | #ifdef __ASSEMBLY__ |
30 | /* returns the offset of the flow controller halt register for a cpu */ | 43 | /* returns the offset of the flow controller halt register for a cpu */ |
@@ -104,8 +117,11 @@ exit_l2_resume: | |||
104 | .endm | 117 | .endm |
105 | #endif /* CONFIG_CACHE_L2X0 */ | 118 | #endif /* CONFIG_CACHE_L2X0 */ |
106 | #else | 119 | #else |
120 | void tegra_pen_lock(void); | ||
121 | void tegra_pen_unlock(void); | ||
107 | void tegra_resume(void); | 122 | void tegra_resume(void); |
108 | int tegra_sleep_cpu_finish(unsigned long); | 123 | int tegra_sleep_cpu_finish(unsigned long); |
124 | void tegra_disable_clean_inv_dcache(void); | ||
109 | 125 | ||
110 | #ifdef CONFIG_HOTPLUG_CPU | 126 | #ifdef CONFIG_HOTPLUG_CPU |
111 | void tegra20_hotplug_init(void); | 127 | void tegra20_hotplug_init(void); |
@@ -115,6 +131,17 @@ static inline void tegra20_hotplug_init(void) {} | |||
115 | static inline void tegra30_hotplug_init(void) {} | 131 | static inline void tegra30_hotplug_init(void) {} |
116 | #endif | 132 | #endif |
117 | 133 | ||
134 | void tegra20_cpu_shutdown(int cpu); | ||
135 | int tegra20_cpu_is_resettable_soon(void); | ||
136 | void tegra20_cpu_clear_resettable(void); | ||
137 | #ifdef CONFIG_ARCH_TEGRA_2x_SOC | ||
138 | void tegra20_cpu_set_resettable_soon(void); | ||
139 | #else | ||
140 | static inline void tegra20_cpu_set_resettable_soon(void) {} | ||
141 | #endif | ||
142 | |||
143 | int tegra20_sleep_cpu_secondary_finish(unsigned long); | ||
144 | void tegra20_tear_down_cpu(void); | ||
118 | int tegra30_sleep_cpu_secondary_finish(unsigned long); | 145 | int tegra30_sleep_cpu_secondary_finish(unsigned long); |
119 | void tegra30_tear_down_cpu(void); | 146 | void tegra30_tear_down_cpu(void); |
120 | 147 | ||