diff options
author | Vasily Khoruzhick <anarsoul@gmail.com> | 2023-03-10 02:03:49 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2023-03-23 11:30:20 +0100 |
commit | 49502408007b77ff290ce62e6218cefaeedcb31a (patch) | |
tree | db4078dcd7247be2aa0a15748a23923fa07502f2 /drivers/mmc/host/sdhci-of-arasan.c | |
parent | mmc: renesas_sdhi: remove R-Car H3 ES1.* handling (diff) | |
download | linux-49502408007b77ff290ce62e6218cefaeedcb31a.tar.xz linux-49502408007b77ff290ce62e6218cefaeedcb31a.zip |
mmc: sdhci-of-dwcmshc: properly determine max clock on Rockchip
Currently .get_max_clock returns the current clock rate for cclk_emmc
on rk35xx, thus max clock gets set to whatever bootloader set it to.
In case of u-boot, it is intentionally reset to 50 MHz if it boots
from eMMC, see mmc_deinit() in u-boot sources. As a result, HS200 and
HS400 modes are never selected by Linux, because dwcmshc_rk35xx_postinit
clears appropriate caps if host->mmc->f_max is < 52MHz
cclk_emmc is not a fixed clock on rk35xx, so using
sdhci_pltfm_clk_get_max_clock is not appropriate here.
Implement rk35xx_get_max_clock that returns actual max clock for cclk_emmc.
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20230310010349.509132-1-anarsoul@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-of-arasan.c')
0 files changed, 0 insertions, 0 deletions