Re: [PATCH 1/2] mmc: jz4740: Work around bug on JZ4760(B)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux