On Dec 9, 2010, at 12:43 AM, Andy Shevchenko wrote:

> On Wed, Dec 8, 2010 at 10:36 PM, Paul Walmsley <[email protected]> wrote:
>> Anyway, if you want to try changing it from the kernel side, you'll need
>> code like this in the MMC driver or OMAP integration code (off the top of
>> my head, untested):
> 
>> Please let me know if this doesn't work.
> IIRC, there is mmc_set_clock() method, but it isn't exported. Anyway,
> I have another issue with some specific code which also requires the
> same function to be exported.

In my u-boot-2010.03 board file (or with u-boot-2009.11 patched to incorporate 
the mmc_set_dev() method)

I added the following lines of code.

- mmc_set_dev(2) select the MMC2 controller.

- mmc_clock_config attempts to use a clock divider value of 2, and this method 
implements the logic 
outlined in Section 22.5.2.7.2 of the OMAP35x TRM Rev D 


@@ -34,6 +34,7 @@
 #include <common.h>
 #include <twl4030.h>
 #include <asm/io.h>
+#include <asm/arch/mmc.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/gpio.h>
@@ -292,6 +293,11 @@ xx GPI31 159 TCH_DOUT - McSPI4_SOMI
        dieid_num_r();
        omap3_dss_enable();
 
+       // Initialize MMC2 controller clock to 48Khz
+       mmc_set_dev(2);
+       mmc_init_setup();
+       mmc_clock_config(CLK_MISC, 2);
+
     return 0;
 }
 
This is having no effect, and the output clock from the bootloader stage is 
still at 96MHz. 

How can I change the MMC CLK output to 48MHz using either the boot loader or 
the kernel?

Elvis Dowson
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to