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