]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: mtk-sd: don't ignore max-frequency from device tree
authorDaniel Golle <daniel@makrotopia.org>
Mon, 15 Mar 2021 15:31:11 +0000 (15:31 +0000)
committerTom Rini <trini@konsulko.com>
Wed, 17 Mar 2021 16:27:58 +0000 (12:27 -0400)
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>
drivers/mmc/mtk-sd.c

index 3b9c12266a23d7a0b693ad5407f32c6ca48e0050..48a764be82a08c6960020c5f7642f427a6e87cbe 100644 (file)
@@ -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;