Re: [PATCH v3 2/5] mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/03/19 4:59 AM, Yinbo Zhu wrote:
> From: Yinbo Zhu <yinbo.zhu@xxxxxxx>
> 
> eSDHC-A001: The data timeout counter (SYSCTL[DTOCV]) is not
> reliable for DTOCV values 0x4(2^17 SD clock), 0x8(2^21 SD clock),
> and 0xC(2^25 SD clock). The data timeout counter can count from
> 2^13–2^27, but for values 2^17, 2^21, and 2^25, the timeout
> counter counts for only 2^13 SD clocks.
> A-008358: The data timeout counter value loaded into the timeout
> counter is less than expected and can result into early timeout
> error in case of eSDHC data transactions. The table below shows
> the expected vs actual timeout period for different values of
> SYSCTL[DTOCV]:
> these two erratum has the same quirk to control it, and set
> SDHCI_QUIRK_RESET_AFTER_REQUEST to fix above issue.
> 
> Signed-off-by: Yinbo Zhu <yinbo.zhu@xxxxxxx>

Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> ---
>  drivers/mmc/host/sdhci-of-esdhc.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c
> index 9da53e5..1ac1133 100644
> --- a/drivers/mmc/host/sdhci-of-esdhc.c
> +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> @@ -1074,8 +1074,10 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
>  	if (esdhc->vendor_ver > VENDOR_V_22)
>  		host->quirks &= ~SDHCI_QUIRK_NO_BUSY_IRQ;
>  
> -	if (of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc"))
> +	if (of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc")) {
>  		host->quirks2 |= SDHCI_QUIRK_RESET_AFTER_REQUEST;
> +		host->quirks2 |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
> +	}
>  
>  	if (of_device_is_compatible(np, "fsl,p5040-esdhc") ||
>  	    of_device_is_compatible(np, "fsl,p5020-esdhc") ||
> 




[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux