[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFon1_0HPZLZTVvy+oEukWaMGuXtt+3YBQBrcbguy5U3-w@mail.gmail.com>
Date: Tue, 14 Feb 2023 00:48:40 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Paul Cercueil <paul@...pouillou.net>
Cc: linux-mips@...r.kernel.org, linux-mmc@...r.kernel.org,
linux-kernel@...r.kernel.org, list@...ndingux.net
Subject: Re: [PATCH 1/2] mmc: jz4740: Work around bug on JZ4760(B)
On Tue, 31 Jan 2023 at 22:02, Paul Cercueil <paul@...pouillou.net> 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@...pouillou.net>
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
>
Powered by blists - more mailing lists