diff options
author | Ye.Li <B37916@freescale.com> | 2014-01-26 18:05:57 +0800 |
---|---|---|
committer | Ye.Li <B37916@freescale.com> | 2014-01-27 18:22:36 +0800 |
commit | 86817422ce90ea2106ba9cce7c8ce1624ea286a0 (patch) | |
tree | e3a752876c34e484ed3a8e18b101647999d8d95e /lib_m68k/time.c | |
parent | bc1148f504898d851e5bfdbdc7dcde754d94adba (diff) | |
download | u-boot-imx-86817422ce90ea2106ba9cce7c8ce1624ea286a0.zip u-boot-imx-86817422ce90ea2106ba9cce7c8ce1624ea286a0.tar.gz u-boot-imx-86817422ce90ea2106ba9cce7c8ce1624ea286a0.tar.bz2 |
ENGR00293946 SD:ESDHC/USDHC Fix command timeout after UHS-I tunning error
Got intermittent boot failure of android image from UHS-I SD card. The
MBR read is failed.
When doing the UHS-I tunning of sampling point, ESDHC may get some command
errors (CIE, CEBE or CCE) at incorrect sampling point. In this case,
current driver will return from the "esdhc_send_cmd" function immediately
with having host reset, which also gates off the SD clock automatically.
But the SD card remains in the status of sending tuning block data and
waits the clock. When the next new command is sent from host, the clock
enables the SD card to sending the tuning block and does not respond to
the new command.
Fix this issue by adding a delay before host reset. So the SD card can
output tunning block and turn to "tran" status. The tunning execute bit
"EXE_TUNE" also be cleaned after each tunning.
Signed-off-by: Ye.Li <B37916@freescale.com>
(cherry picked from commit f68b8cbdedba855b87a11d525afe7c50fc4d7b0e)
Diffstat (limited to 'lib_m68k/time.c')
0 files changed, 0 insertions, 0 deletions