All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Revert "mmc: fsl_esdhc_imx: remove the 1ms delay before sending command"
@ 2021-02-27 13:53 Fabio Estevam
  2021-03-03  9:08 ` Bough Chen
  0 siblings, 1 reply; 2+ messages in thread
From: Fabio Estevam @ 2021-02-27 13:53 UTC (permalink / raw)
  To: u-boot

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.

Reported-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Fabio Estevam <festevam@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(&regs->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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-03-03  9:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-27 13:53 [PATCH] Revert "mmc: fsl_esdhc_imx: remove the 1ms delay before sending command" Fabio Estevam
2021-03-03  9:08 ` Bough Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.