Hi Oleksandr On Aug 6, 2013, at 1:44 PM, Oleksandr Tyshchenko wrote:
> "mmc_send_cmd: timeout: No status update" error sometimes happens in > omap_hsmmc driver func mmc_send_cmd() when the MMC controller card > identification and selection sequence is executed for eMMC on OMAP4 > boards. > > It happens due to incorrect execution of CMD line reset procedure > for OMAP4. Because CMD(DAT) lines reset procedures are slightly > different for OMAP3 and OMAP4(AM335x,OMAP5,DRA7xx). > > According to OMAP3 TRM: > Set SRC(SRD) bit in MMCHS_SYSCTL register to 0x1 and wait until > it returns to 0x0. > > According to OMAP4(AM335x,OMAP5,DRA7xx) TRMs, CMD(DATA) lines reset > procedure steps must be as follows: > 1. Initiate CMD(DAT) line reset by writing 0x1 to SRC(SRD) bit in > MMCHS_SYSCTL register (SD_SYSCTL for AM335x). > 2. Poll the SRC(SRD) bit until it is set to 0x1. > 3. Wait until the SRC(SRD) bit returns to 0x0 > (reset procedure is completed). > > Unfortunately, at present omap_hsmmc driver has support only for > OMAP3. And as result step #2 is missing for OMAP4(AM335x,OMAP5,DRA7xx). > This sometimes leads to the fact that the waiting loop which is > required in step #3 does not executed, because SRC bit does not set > yet (at the moment of checking a condition of a loop execution). > And as a result this can cause to timeout error when sending a > next command. > > In the particular case (working with eMMC witch do not respond to > some SD specific command) due to incorrect reset sequence after > command SD_CMD_SEND_IF_COND which finished with CTO flag within > 64 clock cycles, the next command MMC_CMD_APP_CMD leads to a > timeout error within 1s. > > So, extend CMD(DATA) lines reset procedure in func > mmc_reset_controller_fsm() by adding the missing step #2 for > OMAP4+/AM335x boards. > > Signed-off-by: Oleksandr Tyshchenko <oleksandr.tyshche...@ti.com> Acked-by: Pantelis Antoniou <pa...@antoniou-consulting.com> Thanks _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot