On Dec 9, 2010, at 12:43 AM, Andy Shevchenko wrote: > On Wed, Dec 8, 2010 at 10:36 PM, Paul Walmsley <paul@xxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html