diff options
author | Yangbo Lu <yangbo.lu@nxp.com> | 2016-08-02 15:33:18 +0800 |
---|---|---|
committer | Jaehoon Chung <jh80.chung@samsung.com> | 2016-08-16 10:27:07 +0900 |
commit | d188b1130226d304fb3cd2c901b968eca927f39f (patch) | |
tree | ffe7465192b843d5ad55552e271207ab423a70a6 | |
parent | ba92cd74d227b0d3f39c2452513055c1477697e9 (diff) | |
download | u-boot-d188b1130226d304fb3cd2c901b968eca927f39f.tar.gz u-boot-d188b1130226d304fb3cd2c901b968eca927f39f.tar.bz2 u-boot-d188b1130226d304fb3cd2c901b968eca927f39f.zip |
mmc: send CMD0 before CMD1 for some MMC cards
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.lu@nxp.com>
-rw-r--r-- | drivers/mmc/mmc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 3daa748822..43ea0bba76 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -422,6 +422,9 @@ static int mmc_complete_op_cond(struct mmc *mmc) mmc->op_cond_pending = 0; if (!(mmc->ocr & OCR_BUSY)) { + /* Some cards seem to need this */ + mmc_go_idle(mmc); + start = get_timer(0); while (1) { err = mmc_send_op_cond_iter(mmc, 1); |