37810f9d74129ad8c650d30b83a5eb68142f8713
[openwrt/staging/ynezz.git] /
1 From 4bdab0ea008113dda4e001ab8d6863945000c1b2 Mon Sep 17 00:00:00 2001
2 From: Daniel Golle <daniel@makrotopia.org>
3 Date: Thu, 11 Mar 2021 14:58:26 +0000
4 Subject: [PATCH 21/21] mmc: mtk-sd: don't ignore max-frequency from device
5 tree
6
7 commit e58e68d9 ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value")
8 wrongly assumed that plat->cfg.f_max is always unset at the time
9 mscd_drv_probe() is run. This is not true in case max-frequency being
10 defined in device tree, as it is then already set by mmc_of_parser()
11 in msdc_of_to_plat().
12 Only set plat->cfg.f_max to the default maximum value in case it is
13 not already set to a sane value.
14
15 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
16 ---
17 drivers/mmc/mtk-sd.c | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20 --- a/drivers/mmc/mtk-sd.c
21 +++ b/drivers/mmc/mtk-sd.c
22 @@ -1644,7 +1644,8 @@ static int msdc_drv_probe(struct udevice
23 if (cfg->f_min < MIN_BUS_CLK)
24 cfg->f_min = MIN_BUS_CLK;
25
26 - cfg->f_max = host->src_clk_freq;
27 + if (cfg->f_max < cfg->f_min || cfg->f_max > host->src_clk_freq)
28 + cfg->f_max = host->src_clk_freq;
29
30 cfg->b_max = 1024;
31 cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;