Limit mmc0 and mmc1 clock frequency

I’m trying to limit mmc clock frequency by adding the line to a .dts (kernel 4.4.16-ti-rt):

max-frequency = <25000000>;

It works only for mmc2, but not for mmc0 and mmc1.
It remains 50Mhz for mmc0 and 52Mhz for mmc1.

Thanks for ideas!

pretty sure that get's overriden when the mmc core probes the
eMMC/microSD.. So if you really want to disable 50/52Mhz you'll have
to disable the actual sd transfer modes..

see for example on the x15, since we don't have a dual voltage
regulator, these modes must be removed:

https://github.com/RobertCNelson/dtb-rebuilder/blob/4.4-ti/src/arm/am57xx-beagle-x15.dts#L109-L113

Regards,

Thanks, Robert!

However, just adding that block of “delete-property”-s from the example you pointed to didn’t help.

By the way, where are those modes defined?

sd-uhs-sdr104
sd-uhs-sdr50
sd-uhs-ddr50
sd-uhs-sdr25
sd-uhs-sdr12

Thanks, Robert!

However, just adding that block of "delete-property"-s from the example you
pointed to didn't help.

Correct it was an "example" of how to disable modes, as the ip on the
am335x doesn't even support those... :wink:

By the way, where are those modes defined?

sd-uhs-sdr104
sd-uhs-sdr50
sd-uhs-ddr50
sd-uhs-sdr25
sd-uhs-sdr12

Here's the full list:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/mmc/mmc.txt

Regards,

Thanks, Robert!

It works. Of course, it didn’t, when trying for first time I “deleted” all those modes.
The following lines successfully set MMC clock to 25MHz:

max-frequency = <25000000>;
/delete-property/ sd-uhs-sdr104;
/delete-property/ sd-uhs-sdr50;
/delete-property/ sd-uhs-ddr50;


|
|
|
|

  • | - | - | - |

Sergey