diff options
Diffstat (limited to 'arch/arm/mach-tegra/sleep.S')
| -rw-r--r-- | arch/arm/mach-tegra/sleep.S | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/sleep.S b/arch/arm/mach-tegra/sleep.S index addae357da3f..364d84523fba 100644 --- a/arch/arm/mach-tegra/sleep.S +++ b/arch/arm/mach-tegra/sleep.S | |||
| @@ -34,6 +34,9 @@ | |||
| 34 | #include "flowctrl.h" | 34 | #include "flowctrl.h" |
| 35 | #include "sleep.h" | 35 | #include "sleep.h" |
| 36 | 36 | ||
| 37 | #define CLK_RESET_CCLK_BURST 0x20 | ||
| 38 | #define CLK_RESET_CCLK_DIVIDER 0x24 | ||
| 39 | |||
| 37 | #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP) | 40 | #if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP) |
| 38 | /* | 41 | /* |
| 39 | * tegra_disable_clean_inv_dcache | 42 | * tegra_disable_clean_inv_dcache |
| @@ -110,4 +113,20 @@ ENTRY(tegra_shut_off_mmu) | |||
| 110 | mov pc, r0 | 113 | mov pc, r0 |
| 111 | ENDPROC(tegra_shut_off_mmu) | 114 | ENDPROC(tegra_shut_off_mmu) |
| 112 | .popsection | 115 | .popsection |
| 116 | |||
| 117 | /* | ||
| 118 | * tegra_switch_cpu_to_pllp | ||
| 119 | * | ||
| 120 | * In LP2 the normal cpu clock pllx will be turned off. Switch the CPU to pllp | ||
| 121 | */ | ||
| 122 | ENTRY(tegra_switch_cpu_to_pllp) | ||
| 123 | /* in LP2 idle (SDRAM active), set the CPU burst policy to PLLP */ | ||
| 124 | mov32 r5, TEGRA_CLK_RESET_BASE | ||
| 125 | mov r0, #(2 << 28) @ burst policy = run mode | ||
| 126 | orr r0, r0, #(4 << 4) @ use PLLP in run mode burst | ||
| 127 | str r0, [r5, #CLK_RESET_CCLK_BURST] | ||
| 128 | mov r0, #0 | ||
| 129 | str r0, [r5, #CLK_RESET_CCLK_DIVIDER] | ||
| 130 | mov pc, lr | ||
| 131 | ENDPROC(tegra_switch_cpu_to_pllp) | ||
| 113 | #endif | 132 | #endif |
