
On Tue, Mar 20, 2012 at 12:12:06AM +0200, Grazvydas Ignotas wrote:
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
On a BeagleBoard xM (rev A), tested various class 2 and 4 uSD cards I have (none of which have ever failed, however). On a BeagleBoard rev C5 and am335x EVM and an omap4_panda (ES), tested with various class 2, 4 and 6 SD cards (or uSD in adapter).
Tested-by: Tom Rini trini@ti.com
And I've sent a private message to folks that have had failing cards that previous changes have fixed to make sure this doesn't break them.