When the MMC framework was added in u-boot, the mmc_go_idle was added before mmc_send_op_cond_iter in function mmc_send_op_cond annotating that some cards seemed to need this. Actually, we still need to do this in function mmc_complete_op_cond for those cards. This has been verified on Micron MTFC4GACAECN eMMC chip.
Signed-off-by: Yangbo Lu <yangbo...@nxp.com> --- drivers/mmc/mmc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index ede5d6e..82e3268 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -418,6 +418,9 @@ static int mmc_complete_op_cond(struct mmc *mmc) uint start; int err; + /* Some cards seem to need this */ + mmc_go_idle(mmc); + mmc->op_cond_pending = 0; if (!(mmc->ocr & OCR_BUSY)) { start = get_timer(0); -- 2.1.0.27.g96db324 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot