diff options
Diffstat (limited to 'arch/arm/mach-omap2/memory.c')
-rw-r--r-- | arch/arm/mach-omap2/memory.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/memory.c b/arch/arm/mach-omap2/memory.c index 85cbc2a2e663..3e5d8cd4ea4f 100644 --- a/arch/arm/mach-omap2/memory.c +++ b/arch/arm/mach-omap2/memory.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include "prcm-regs.h" | 30 | #include "prcm-regs.h" |
31 | #include "memory.h" | 31 | #include "memory.h" |
32 | 32 | ||
33 | |||
33 | static struct memory_timings mem_timings; | 34 | static struct memory_timings mem_timings; |
34 | 35 | ||
35 | u32 omap2_memory_get_slow_dll_ctrl(void) | 36 | u32 omap2_memory_get_slow_dll_ctrl(void) |
@@ -99,3 +100,20 @@ void omap2_init_memory_params(u32 force_lock_to_unlock_mode) | |||
99 | /* 90 degree phase for anything below 133Mhz + disable DLL filter */ | 100 | /* 90 degree phase for anything below 133Mhz + disable DLL filter */ |
100 | mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8)); | 101 | mem_timings.slow_dll_ctrl |= ((1 << 1) | (3 << 8)); |
101 | } | 102 | } |
103 | |||
104 | /* turn on smart idle modes for SDRAM scheduler and controller */ | ||
105 | void __init omap2_init_memory(void) | ||
106 | { | ||
107 | u32 l; | ||
108 | |||
109 | l = SMS_SYSCONFIG; | ||
110 | l &= ~(0x3 << 3); | ||
111 | l |= (0x2 << 3); | ||
112 | SMS_SYSCONFIG = l; | ||
113 | |||
114 | l = SDRC_SYSCONFIG; | ||
115 | l &= ~(0x3 << 3); | ||
116 | l |= (0x2 << 3); | ||
117 | SDRC_SYSCONFIG = l; | ||
118 | |||
119 | } | ||