• Arindam Nath's avatar
    mmc: sdhci: add support for programmable clock mode · c3ed3877
    Arindam Nath authored
    Host Controller v3.00 supports programmable clock mode as an optional
    feature. The support for this mode is indicated by non-zero value in
    bits 48-55 of the Capabilities register. If supported, the actual
    value of Clock Multiplier is one more than the value provided in the
    bit fields. We only set Clock Generator Select (bit 5) and SDCLK
    Frequency Select (bits 8-15) of the Clock Control register in case
    Preset Value Enable is not set, otherwise these fields are automatically
    set by the Host Controller based on the UHS mode selected. Also, since
    the maximum and minimum clock frequency in this mode can be
    (Base Clock * Clock Mul) and (Base Clock * Clock Mul)/1024 respectively,
    f_max and f_min have been recalculated to reflect this change.
    
    Tested by Zhangfei Gao with a Toshiba uhs card and general hs card,
    on mmp2 in SDMA mode.
    Signed-off-by: default avatarArindam Nath <arindam.nath@amd.com>
    Reviewed-by: default avatarPhilip Rakity <prakity@marvell.com>
    Tested-by: default avatarPhilip Rakity <prakity@marvell.com>
    Acked-by: default avatarZhangfei Gao <zhangfei.gao@marvell.com>
    Signed-off-by: default avatarChris Ball <cjb@laptop.org>
    c3ed3877
sdhci.h 10.7 KB