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'
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to