On Apr 10, 2011, at 11:43 PM, Jason Liu wrote: > Hi, Kumar Gala > > 2011/3/22 Jason Liu <jason....@linaro.org>: >> For freescale i.MX53 eSDHCv2, when using CMD12, cmdtype need >> to be set to ABORT, otherwise, next read command will hang. >> >> This is a software Software Restrictions in i.MX53 reference manual: >> >> 29.7.8 Multi-block Read >> For pre-defined multi-block read operation, that is,the number of blocks >> to read has been defined by previous CMD23 for MMC, or pre-defined number >> of blocks in CMD53 for SDIO/SDCombo,or whatever multi-block read without >> abort command at card side, an abort command, either automatic or manual >> CMD12/CMD52, is still required by ESDHC after the pre-defined number of >> blocks are done, to drive the internal state machine to idle mode. In this >> case, the card may not respond to this extra abort command and ESDHC will >> get Response Timeout. It is recommended to manually send an abort command >> with RSPTYP[1:0] both bits cleared. >> >> Signed-off-by: Jason Liu <jason....@linaro.org> >> --- >> drivers/mmc/fsl_esdhc.c | 4 ++++ >> 1 files changed, 4 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c >> index f3cccbe..5c3618b 100644 >> --- a/drivers/mmc/fsl_esdhc.c >> +++ b/drivers/mmc/fsl_esdhc.c >> @@ -99,6 +99,10 @@ uint esdhc_xfertyp(struct mmc_cmd *cmd, struct mmc_data >> *data) >> else if (cmd->resp_type & MMC_RSP_PRESENT) >> xfertyp |= XFERTYP_RSPTYP_48; >> >> +#ifdef CONFIG_MX53 >> + if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION) >> + xfertyp |= XFERTYP_CMDTYP_ABORT; >> +#endif >> return XFERTYP_CMD(cmd->cmdidx) | xfertyp; >> } > > Ping, Any comments?
No issues as this is protected with a CONFIG_MX53 so will not impact an PPC SoCs - k _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot