For CMD with busy response, the eSDHC driver would poll DAT0 until
CMD completion rather than polling IRQSTAT. So, don't set
XFERTYP_RSPTYP_48_BUSY to avoid interrupts (DTOE or TC) in IRQSTAT.

Signed-off-by: Yangbo Lu <yangbo...@nxp.com>
---
Changes for v2:
        - None
---
 drivers/mmc/fsl_esdhc.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index a865c7b..b23845d 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -136,8 +136,16 @@ static uint esdhc_xfertyp(struct mmc_cmd *cmd, struct 
mmc_data *data)
                xfertyp |= XFERTYP_CICEN;
        if (cmd->resp_type & MMC_RSP_136)
                xfertyp |= XFERTYP_RSPTYP_136;
-       else if (cmd->resp_type & MMC_RSP_BUSY)
-               xfertyp |= XFERTYP_RSPTYP_48_BUSY;
+       /*
+        * For CMD with busy response, the eSDHC driver would poll DAT0
+        * until CMD completion rather than polling IRQSTAT. So, don't
+        * set XFERTYP_RSPTYP_48_BUSY to avoid interrupts (DTOE or TC)
+        * in IRQSTAT.
+        *
+        * Remove:
+        * else if (cmd->resp_type & MMC_RSP_BUSY)
+        *      xfertyp |= XFERTYP_RSPTYP_48_BUSY;
+        */
        else if (cmd->resp_type & MMC_RSP_PRESENT)
                xfertyp |= XFERTYP_RSPTYP_48;
 
-- 
2.1.0.27.g96db324

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to