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[] = {

--
-
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