[PATCH] Revert "mmc: fsl_esdhc_imx: remove the 1ms delay before sending command"
Bough Chen
haibo.chen at nxp.com
Wed Mar 3 10:08:14 CET 2021
> -----Original Message-----
> From: Fabio Estevam [mailto:festevam at gmail.com]
> Sent: 2021年2月27日 21:54
> To: Peng Fan <peng.fan at nxp.com>
> Cc: u-boot at lists.denx.de; lorusak at gmail.com;
> andrey.zhizhikin at leica-geosystems.com; Ye Li <ye.li at nxp.com>; Bough Chen
> <haibo.chen at nxp.com>; sbabic at denx.de; trini at konsulko.com; Fabio Estevam
> <festevam at gmail.com>
> Subject: [PATCH] Revert "mmc: fsl_esdhc_imx: remove the 1ms delay before
> sending command"
>
> Removing the 1ms delay before sending command causes a regression on
> imx8mq-evk where the SD card cannot be accessed.
>
> Since this 1ms delay has been present since the driver introduction in
2008,
> keep it to avoid regressions.
>
> This reverts commit 9098682200e6cca4b776638a51200dafa16f50fb.
>
Hi Fabio,
This 1ms delay exist in esdhc_send_cmd_common, which means every time we
send a command, will delay 1ms, which will involve a huge delay overall for
the whole u-boot cycle.
For the issue you meet, I already find the root cause, and already reply in
the mail loop: [EXT] Re: [PATCH 4/4] imx8mq_evk: Enable the USB3.0 host port
So I think no need to involve this 1ms back again.
Best regards
Haibo Chen
> Reported-by: Ye Li <ye.li at nxp.com>
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> ---
> drivers/mmc/fsl_esdhc_imx.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c
index
> e0e132698e30..a0a5c8960563 100644
> --- a/drivers/mmc/fsl_esdhc_imx.c
> +++ b/drivers/mmc/fsl_esdhc_imx.c
> @@ -463,6 +463,13 @@ static int esdhc_send_cmd_common(struct
> fsl_esdhc_priv *priv, struct mmc *mmc,
> while (esdhc_read32(®s->prsstat) & PRSSTAT_DLA)
> ;
>
> + /* Wait at least 8 SD clock cycles before the next command */
> + /*
> + * Note: This is way more than 8 cycles, but 1ms seems to
> + * resolve timing issues with some cards
> + */
> + udelay(1000);
> +
> /* Set up for a data transfer if we have one */
> if (data) {
> err = esdhc_setup_data(priv, mmc, data);
> --
> 2.25.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 9571 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210303/88e49e01/attachment.bin>
More information about the U-Boot
mailing list