mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
mmc: sdhci: programmable clock calculation needs multiplier +1
According to the SD Host Controller Simplified Specification v4.20, the multiplier value M is one more than the Clock Multiplier field. Copied code from Linux project. drivers/mmc/host/sdhci.c line 4405 Signed-off-by: cmachida <curtis.machida@intel.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Sean Anderson <sean.anderson@seco.com>
This commit is contained in:
@@ -930,6 +930,15 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host,
|
||||
debug("%s, caps_1: 0x%x\n", __func__, caps_1);
|
||||
host->clk_mul = (caps_1 & SDHCI_CLOCK_MUL_MASK) >>
|
||||
SDHCI_CLOCK_MUL_SHIFT;
|
||||
|
||||
/*
|
||||
* In case the value in Clock Multiplier is 0, then programmable
|
||||
* clock mode is not supported, otherwise the actual clock
|
||||
* multiplier is one more than the value of Clock Multiplier
|
||||
* in the Capabilities Register.
|
||||
*/
|
||||
if (host->clk_mul)
|
||||
host->clk_mul += 1;
|
||||
}
|
||||
|
||||
if (host->max_clk == 0) {
|
||||
|
||||
Reference in New Issue
Block a user