[U-Boot] [PATCH] mmc:sdhci: Fix card ready status timeout.
Pantelis Antoniou
panto at antoniou-consulting.com
Mon Sep 16 18:34:09 CEST 2013
Hi there,
On Sep 13, 2013, at 3:59 PM, Przemyslaw Marczak wrote:
> Dear Pantelis,
>
> On 09/09/2013 02:58 PM, Przemyslaw Marczak wrote:
>> According to JEDEC eMMC specification, after data transfer
>> (multiple or single block) host must wait for card ready
>> status. This is done by waiting for command and data lines
>> to be at idle state after transfer. JEDEC does not specify
>> maximum timeout.
>>
>> Before this change max timeout was 10 ms but in case of UMS
>> - when system does multiple read/write operations on random
>> card blocks - timeout causes I/O errors.
>> The timeout has been increased to 200ms after data transfer.
>> For other transfers it stays unchanged. Default values are
>> now defined with "if defined" directive so it can be redefined
>> at board config if needed.
>>
>> Tested on Goni and Trats.
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
>> Cc: Pantelis Antoniou <panto at antoniou-consulting.com>
>
> Please do not apply this patch yet due to still not enough results on some targets.
> Timeout value should depends on internal cards operations execution time but this time is unpredictably and that is why JEDEC not specifies it. Maybe u-boot sdhci driver needs some more changes to be more flexible for such operations. In example sdhci background operations timeout at kernel is specified to 4 minutes.
> I need to make more research.
>
OK, this need to be fleshed out a bit more.
Please keep me in the loop cause this sounds board-specific.
Perhaps the CONFIG_* option is a sound idea; real world is messy like that.
> Regards,
>
> --
> Przemyslaw Marczak
> Samsung R&D Institute Poland
> Samsung Electronics
> p.marczak at samsung.com
Regards
-- Pantelis
More information about the U-Boot
mailing list