mmc: tegra: fix reporting of base clock frequency
authorAndrew Bresticker <abrestic@chromium.org>
Thu, 22 May 2014 15:55:36 +0000 (08:55 -0700)
committerChris Ball <chris@printf.net>
Fri, 23 May 2014 12:49:29 +0000 (08:49 -0400)
commitf92603552dbf9c10c5c1d557eec80226d3effdb9
tree2a6aa88eb26d444adb53ea01e854bb70f92bc0e4
parent3145351a6f4026fa9e9f8c7a0ba85a877377e0e3
mmc: tegra: fix reporting of base clock frequency

Tegra SDHCI controllers, by default, report a base clock frequency of
208Mhz in SDHCI_CAPABILTIES which may or may not be equal to the actual
base clock frequency.  This is because the clock rate is configured by
the clock controller, which is external to the SD/MMC controller.  Since
the SD/MMC controller has no knowledge of how this clock is configured,
it will simply report the maximum frequency.  While the reported value
can be overridden by setting BASE_CLK_FREQ in VENDOR_CLOCK_CTRL on
Tegra30 and later SoCs, just set CAP_CLOCK_BASE_BROKEN and supply
sdhci_pltfm_clk_get_max_clock(), which simply does a clk_get_rate(),
as the get_max_clock() callback.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/sdhci-tegra.c