mmc: sdhci-esdhc-imx: fix multiblock reads on i.MX53
authorLucas Stach <l.stach@pengutronix.de>
Fri, 15 Mar 2013 08:49:26 +0000 (09:49 +0100)
committerChris Ball <cjb@laptop.org>
Sun, 26 May 2013 17:13:31 +0000 (13:13 -0400)
The eSDHC controller on the i.MX53 needs an additional, non spec
compliant CMD12 after a multiblock read with a predefined number of
blocks. Otherwise the internal state machine won't go back to the
idle state.

This commit effectively reverts 5b6b0ad6 (mmc: sdhci-esdhc-imx:
fix for mmc cards on i.MX5), which fixed part of the problem by
making multiblock reads work, however this fix was not sufficient
when multi- and singleblock reads got intermixed.

This implements the recommended workaround (Freescale i.MX Reference
Manual, section 29.6.8 "Multi-block Read") by manually sending a
CMD12 with the RSPTYP bits cleared.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci-esdhc-imx.c

Simple merge