On Mon, Dec 5, 2016 at 4:46 PM, Fabio Estevam <festevam@xxxxxxxxx> wrote: > Hi Caleb, > > On Mon, Dec 5, 2016 at 10:36 PM, Caleb Crome <caleb@xxxxxxxxx> wrote: >> Hello, >> We have a board here where there is a signal integrity problem on the MMC >> bus. It works fine at 25MHz, but does not work in higher speed modes. >> >> Is there an easy way to disable all the high speed modes? Perhaps from the >> device tree? >> >> I tried searching the archives, but gmane seems to be not working. >> >> I'm using a stock 4.8.11 kernel. >> Host processor is i.MX6 > > Would max-frequency = <25000000>; do the trick? > > Please take a look at Documentation/devicetree/bindings/mmc/mmc.txt . Hi Fabio, Thanks for the quick feedback -- I was momentarily hopeful... Unfortunatley, that doesn't seem to work. I have set (using a solid-run hummingboard uSOM): &usdhc2 { pinctrl-names = "default"; pinctrl-0 = < &pinctrl_hummingboard_usdhc2_aux &pinctrl_hummingboard_usdhc2 >; vmmc-supply = <®_3p3v>; cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; max-frequency = <25000000>; status = "okay"; }; and just for good measure I set: &usdhc1 { max-frequency = <25000000>; }; &usdhc3 { max-frequency = <25000000>; }; &usdhc4 { max-frequency = <25000000>; }; (though I'm pretty sure it's using SD2). And it not only attempts to clock at 50MHz, but also at 200 MHz -- way beyond what the board can support. Basically, it doesn't seem to be heeding the max-frequency DT setting at all. I did in fact verify that the max-frequency value was read at http://lxr.free-electrons.com/source/drivers/mmc/core/host.c#L216, and the host->f_max frequency was set to 25000000, but that f_max was ignored it seems. Any other ideas? -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html