2007-06-18 21:04:21

by Ben Dooks

[permalink] [raw]
Subject: [patch #2 2/6] SM501: initialise SDRAM clock before bus clocks

This init sequence of setting the SDRAM clock before the
bus clock is recommend by Silicon Motion to stop problems
with writes not sticking into registers.

Signed-off-by: Vincent Sanders <[email protected]>
Signed-off-by: Ben Dooks <[email protected]>

Index: linux-2.6.21-quilt8/drivers/mfd/sm501.c
===================================================================
--- linux-2.6.21-quilt8.orig/drivers/mfd/sm501.c 2007-06-07 12:12:38.000000000 +0100
+++ linux-2.6.21-quilt8/drivers/mfd/sm501.c 2007-06-07 12:13:03.000000000 +0100
@@ -833,15 +833,15 @@ static void sm501_init_regs(struct sm501
sm501_init_reg(sm, SM501_GPIO31_0_CONTROL, &init->gpio_low);
sm501_init_reg(sm, SM501_GPIO63_32_CONTROL, &init->gpio_high);

- if (init->mclk) {
- dev_info(sm->dev, "setting MCLK to %ld\n", init->mclk);
- sm501_set_clock(sm->dev, SM501_CLOCK_MCLK, init->mclk);
- }
-
if (init->m1xclk) {
dev_info(sm->dev, "setting M1XCLK to %ld\n", init->m1xclk);
sm501_set_clock(sm->dev, SM501_CLOCK_M1XCLK, init->m1xclk);
}
+
+ if (init->mclk) {
+ dev_info(sm->dev, "setting MCLK to %ld\n", init->mclk);
+ sm501_set_clock(sm->dev, SM501_CLOCK_MCLK, init->mclk);
+ }
}

static unsigned int sm501_mem_local[] = {

--
Ben ([email protected], http://www.fluff.org/)

'a smiley only costs 4 bytes'