On Tue, 31 Jan 2023 at 22:02, Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote: > > On JZ4760 and JZ4760B, SD cards fail to run if the maximum clock > rate is set to 50 MHz, even though the controller officially does > support it. > > Until the actual bug is found and fixed, limit the maximum clock rate to > 24 MHz. > > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Applied for fixes and by adding a stable tag, thanks! Kind regards Uffe > --- > drivers/mmc/host/jz4740_mmc.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c > index 319a2a79c9a0..eb8e9607b086 100644 > --- a/drivers/mmc/host/jz4740_mmc.c > +++ b/drivers/mmc/host/jz4740_mmc.c > @@ -1104,6 +1104,16 @@ static int jz4740_mmc_probe(struct platform_device* pdev) > mmc->ops = &jz4740_mmc_ops; > if (!mmc->f_max) > mmc->f_max = JZ_MMC_CLK_RATE; > + > + /* > + * There seems to be a problem with this driver on the JZ4760 and > + * JZ4760B SoCs. There, when using the maximum rate supported (50 MHz), > + * the communication fails with many SD cards. > + * Until this bug is sorted out, limit the maximum rate to 24 MHz. > + */ > + if (host->version == JZ_MMC_JZ4760 && mmc->f_max > JZ_MMC_CLK_RATE) > + mmc->f_max = JZ_MMC_CLK_RATE; > + > mmc->f_min = mmc->f_max / 128; > mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; > > -- > 2.39.1 >