Message ID | 1470123198-34803-1-git-send-email-yangbo.lu@nxp.com |
---|---|
State | Accepted, archived |
Commit | d188b1130226d304fb3cd2c901b968eca927f39f |
Delegated to: | Jaehoon Chung |
Headers | show |
Hi Yangbo, On 08/02/2016 04:33 PM, Yangbo Lu wrote: > 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. This patch is not bad.. but i need to verify more about entire sequence. Could you wait a bit? Best Regards, Jaehoon Chung > > Signed-off-by: Yangbo Lu <yangbo.lu@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 f8e5f7a..d4e96bc 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); >
Hi Jaehoon, Sure. And appreciate your good help :) Best regards, Yangbo Lu > -----Original Message----- > From: Jaehoon Chung [mailto:jh80.chung@samsung.com] > Sent: Tuesday, August 09, 2016 7:06 AM > To: Yangbo Lu; u-boot@lists.denx.de > Subject: Re: [v2] mmc: send CMD0 before CMD1 for some MMC cards > > Hi Yangbo, > > On 08/02/2016 04:33 PM, Yangbo Lu wrote: > > 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. > > This patch is not bad.. but i need to verify more about entire sequence. > Could you wait a bit? > > Best Regards, > Jaehoon Chung > > > > > Signed-off-by: Yangbo Lu <yangbo.lu@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 > > f8e5f7a..d4e96bc 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); > >
Hi Yangbo, On 08/09/2016 08:06 AM, Jaehoon Chung wrote: > Hi Yangbo, > > On 08/02/2016 04:33 PM, Yangbo Lu wrote: >> 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. > > This patch is not bad.. but i need to verify more about entire sequence. > Could you wait a bit? Applied on u-boot-mmc. Thanks! Best Regards, Jaehoon Chung > > Best Regards, > Jaehoon Chung > >> >> Signed-off-by: Yangbo Lu <yangbo.lu@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 f8e5f7a..d4e96bc 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); >> > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > > >
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index f8e5f7a..d4e96bc 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);
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> --- drivers/mmc/mmc.c | 3 +++ 1 file changed, 3 insertions(+)