diff options
author | Daniel Golle <daniel@makrotopia.org> | 2021-03-15 15:31:11 +0000 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-03-17 12:27:58 -0400 |
commit | 30e76b755b2a52e74bf916716a83deaf775664bb (patch) | |
tree | c13abc44122e46a238f2ddb55387a01918bed31c | |
parent | eed127dbd4082ba21fd420449e68d1ad177cdc4b (diff) | |
download | u-boot-30e76b755b2a52e74bf916716a83deaf775664bb.zip u-boot-30e76b755b2a52e74bf916716a83deaf775664bb.tar.gz u-boot-30e76b755b2a52e74bf916716a83deaf775664bb.tar.bz2 |
mmc: mtk-sd: don't ignore max-frequency from device tree
commit e58e68d9 ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value")
wrongly assumed that plat->cfg.f_max is always unset at the time
mscd_drv_probe() is run. This is not true in case max-frequency being
defined in device tree, as it is then already set by mmc_of_parse()
in msdc_of_to_plat().
Only set plat->cfg.f_max to the default maximum value in case it is
not already set to a sane value.
Fixes: e58e68d93e ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value")
Cc: Stefan Roese <sr@denx.de>
Cc: Weijie Gao <weijie.gao@mediatek.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r-- | drivers/mmc/mtk-sd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c index 3b9c122..48a764b 100644 --- a/drivers/mmc/mtk-sd.c +++ b/drivers/mmc/mtk-sd.c @@ -1639,7 +1639,8 @@ static int msdc_drv_probe(struct udevice *dev) else cfg->f_min = host->src_clk_freq / (4 * 4095); - cfg->f_max = host->src_clk_freq; + if (cfg->f_max < cfg->f_min || cfg->f_max > host->src_clk_freq) + cfg->f_max = host->src_clk_freq; cfg->b_max = 1024; cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34; |