]> git.ipfire.org Git - people/ms/u-boot.git/commit - drivers/mmc/omap_hsmmc.c
mmc: omap: handle controller errors properly
authorGrazvydas Ignotas <notasas@gmail.com>
Mon, 19 Mar 2012 12:12:06 +0000 (12:12 +0000)
committerAndy Fleming <afleming@freescale.com>
Tue, 8 May 2012 23:02:22 +0000 (18:02 -0500)
commit25c719e2c3247ef0bab28ee562f978e2ce9211e3
tree3f943876a3f1355615e5b435bd44a47f87ac4d2d
parent15ceb1de81e282426d8988264469508fb5dbd192
mmc: omap: handle controller errors properly

According to OMAP3 TRM, when the controller reports certain errors,
driver must perform a software reset. This is done by setting a bit
in SYSCTL and waiting it to clear:
- SRC on command timeout (CTO)
- SRD on data errors (DTO, DCRC and DEB)

This fixes a problem seen on OMAP3 pandora board with some cards
that won't work with a message printed multiple times:
  timedout waiting on cmd inhibit to clear

Code loosely based on Linux omap_hsmmc driver.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Tom Rini <trini@ti.com>
Tested-by: Pali Rohár <pali.rohar@gmail.com>
drivers/mmc/omap_hsmmc.c