aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/sram34xx.S
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2009-06-19 21:08:27 -0400
committerpaul <paul@twilight.(none)>2009-06-19 21:09:31 -0400
commitd0ba3922ae241a87d22a1c3ffad72b96fe993c9a (patch)
tree3f23d60fbbf2ffceef44b01c8579db7be7d20025 /arch/arm/mach-omap2/sram34xx.S
parentc9812d042a21eb492a36cfabf9f41107f5ecee3d (diff)
OMAP3 clock/SDRC: program SDRC_MR register during SDRC clock change
Program the SDRC_MR_0 register as well during SDRC clock changes. This register allows selection of the memory CAS latency. Some SDRAM chips, such as the Qimonda HYB18M512160AF6, have a lower CAS latency at lower clock rates. Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/sram34xx.S')
-rw-r--r--arch/arm/mach-omap2/sram34xx.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/sram34xx.S b/arch/arm/mach-omap2/sram34xx.S
index 8d4a88c3071..d13f1cc4bd5 100644
--- a/arch/arm/mach-omap2/sram34xx.S
+++ b/arch/arm/mach-omap2/sram34xx.S
@@ -44,12 +44,14 @@
44 * SDRC rates < 83MHz 44 * SDRC rates < 83MHz
45 * r5 = number of MPU cycles to wait for SDRC to stabilize after 45 * r5 = number of MPU cycles to wait for SDRC to stabilize after
46 * reprogramming the SDRC when switching to a slower MPU speed 46 * reprogramming the SDRC when switching to a slower MPU speed
47 * r6 = SDRC_MR_0 register value
47 * 48 *
48 */ 49 */
49ENTRY(omap3_sram_configure_core_dpll) 50ENTRY(omap3_sram_configure_core_dpll)
50 stmfd sp!, {r1-r12, lr} @ store regs to stack 51 stmfd sp!, {r1-r12, lr} @ store regs to stack
51 ldr r4, [sp, #52] @ pull extra args off the stack 52 ldr r4, [sp, #52] @ pull extra args off the stack
52 ldr r5, [sp, #56] @ load extra args from the stack 53 ldr r5, [sp, #56] @ load extra args from the stack
54 ldr r6, [sp, #60] @ load extra args from the stack
53 dsb @ flush buffered writes to interconnect 55 dsb @ flush buffered writes to interconnect
54 cmp r3, #0x2 56 cmp r3, #0x2
55 blne configure_sdrc 57 blne configure_sdrc
@@ -151,7 +153,9 @@ configure_sdrc:
151 str r1, [r11] 153 str r1, [r11]
152 ldr r11, omap3_sdrc_actim_ctrlb 154 ldr r11, omap3_sdrc_actim_ctrlb
153 str r2, [r11] 155 str r2, [r11]
154 ldr r2, [r11] @ posted-write barrier for SDRC 156 ldr r11, omap3_sdrc_mr_0
157 str r6, [r11]
158 ldr r6, [r11] @ posted-write barrier for SDRC
155 bx lr 159 bx lr
156 160
157omap3_sdrc_power: 161omap3_sdrc_power:
@@ -168,6 +172,8 @@ omap3_sdrc_actim_ctrla:
168 .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_A_0) 172 .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_A_0)
169omap3_sdrc_actim_ctrlb: 173omap3_sdrc_actim_ctrlb:
170 .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_B_0) 174 .word OMAP34XX_SDRC_REGADDR(SDRC_ACTIM_CTRL_B_0)
175omap3_sdrc_mr_0:
176 .word OMAP34XX_SDRC_REGADDR(SDRC_MR_0)
171omap3_sdrc_dlla_status: 177omap3_sdrc_dlla_status:
172 .word OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS) 178 .word OMAP34XX_SDRC_REGADDR(SDRC_DLLA_STATUS)
173omap3_sdrc_dlla_ctrl: 179omap3_sdrc_dlla_ctrl: