• Anton Vorontsov's avatar
    sdhci: get rid of "frequency too high" flood when using eSDHC · a9e58f25
    Anton Vorontsov authored
    Since commit 8dfd0374 ("MMC core: limit
    minimum initialization frequency to 400kHz") MMC core checks for minimum
    frequency, and that causes following messages flood when using eSDHC
    controllers:
    
      ...
      mmc0: Minimum clock frequency too high for identification mode
      mmc0: Minimum clock frequency too high for identification mode
      ...
    
    The warnings are legitimate, since if we'd use 133 MHz clocks for standard
    SDHCI controllers, we'd not able to scale frequency down to 400 kHz.
    
    But eSDHC controllers have a non-standard SD clock management, so we can
    divide clock by 256 * 16, not just 256.
    
    This patch introduces get_min_clock() callback for sdhci core and
    implements it for sdhci-of driver, and thus fixes the issue.
    Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
    Cc: Matt Fleming <matt@console-pimps.org>
    Cc: Ian Molton <ian@mnementh.co.uk>
    Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
    Cc: Pierre Ossman <drzeus@drzeus.cx>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a9e58f25
sdhci.c 47.2 KB