Re: [PATCH 2/2] mmc: sdhci-iproc: Set NO_HISPD bit to fix HS50 data hold time problem
From: Adrian Hunter
Date: Tue May 07 2019 - 02:32:33 EST
On 6/05/19 8:01 PM, Scott Branden wrote:
> From: Trac Hoang <trac.hoang@xxxxxxxxxxxx>
>
> The iproc host eMMC/SD controller hold time does not meet the
> specification in the HS50 mode. This problem can be mitigated
> by disabling the HISPD bit; thus forcing the controller output
> data to be driven on the falling clock edges rather than the
> rising clock edges.
>
> Fixes: f5f968f2371c ("mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read")
Is this fixes tag correct, because it doesn't seem related. Maybe explain
that in the commit message.
> Signed-off-by: Trac Hoang <trac.hoang@xxxxxxxxxxxx>
> Signed-off-by: Scott Branden <scott.branden@xxxxxxxxxxxx>
> ---
> drivers/mmc/host/sdhci-iproc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
> index 9d4071c41c94..2feb4ef32035 100644
> --- a/drivers/mmc/host/sdhci-iproc.c
> +++ b/drivers/mmc/host/sdhci-iproc.c
> @@ -220,7 +220,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = {
>
> static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = {
> .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
> - SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
> + SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 |
> + SDHCI_QUIRK_NO_HISPD_BIT,
> .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN,
> .ops = &sdhci_iproc_ops,
> };
>