[PATCH] ARM: dt: bcm2835: set mmc clock to the correct value of 250MHz

Martin Sperl kernel at martin.sperl.org
Tue Sep 15 22:13:19 PDT 2015

> On 16.09.2015, at 06:04, Stephen Warren <swarren at wwwdotorg.org> wrote:
> On 09/08/2015 04:13 PM, Eric Anholt wrote:
>> kernel at martin.sperl.org writes:
>>> From: Martin Sperl <kernel at martin.sperl.org>
>>> This patch sets the clock speed to 250MHz to make the SD card 
>>> work at the correct clock speed without overclocking by 2.5.
>>> Signed-off-by: Martin Sperl <kernel at martin.sperl.org> --- 
>>> arch/arm/boot/dts/bcm2835.dtsi |    2 +- 1 file changed, 1
>>> insertion(+), 1 deletion(-)
>>> Analysis with a logic-analyzer found that the current setting of
>>> the mmc clock at 100MHz is wrong and results in overclocking the
>>> SD-card and eMMC on the Compute Module.
>>> Exact measurements show that when 25Mhz are selected by the
>>> sdhci driver effectively 62.5MHz are used (so 2.5 times faster),
>>> which is what is expected when the clock is configured to a fixed
>>> 100MHz instead of the 250MHz that the clock is actually running
>>> at.
>> Looks like this became the default in the firmware in November 2013
>> (you can, of course, still do lots of configuration that would
>> change it higher or lower).
>> I don't know what the downside would be of running MMC with too
>> large of a divisor for devices running pre-November firmware.  I
>> suspect we should just wait until the new clock driver lands, to
>> avoid any backwards-compatibility issues.  Sorry for the trouble
>> :(
> I imagine we'd just end up with a slower-than-expected clock rate
> which should work just fine albeit at lower than expected/possible
> performance. Conversely, the effect of not fixing this is errors or
> corruption, which seems somewhat worse. Still, if the real clock
> driver is showing up very very imminently it just might be worth
> waiting for that (although we could set this patch Cc: stable which
> might help some people?)
Solved by the patch of Eric with regards to clocks (normal and
auxiliar) - since I have applied that patch the CM works fine.

More information about the linux-rpi-kernel mailing list