| From 3ce4b43b85e78be68696aeae4bd5a113adfad44c Mon Sep 17 00:00:00 2001 |
| From: Yinbo Zhu <yinbo.zhu@nxp.com> |
| Date: Mon, 11 Mar 2019 02:16:36 +0000 |
| Subject: mmc: sdhci-of-esdhc: add erratum eSDHC5 support |
| |
| [ Upstream commit a46e42712596b51874f04c73f1cdf1017f88df52 ] |
| |
| Software writing to the Transfer Type configuration register |
| (system clock domain) can cause a setup/hold violation in the |
| CRC flops (card clock domain), which can cause write accesses |
| to be sent with corrupt CRC values. This issue occurs only for |
| write preceded by read. this erratum is to fix this issue. |
| |
| Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com> |
| Acked-by: Adrian Hunter <adrian.hunter@intel.com> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mmc/host/sdhci-of-esdhc.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/mmc/host/sdhci-of-esdhc.c b/drivers/mmc/host/sdhci-of-esdhc.c |
| index 4e669b4edfc11..9da53e548691b 100644 |
| --- a/drivers/mmc/host/sdhci-of-esdhc.c |
| +++ b/drivers/mmc/host/sdhci-of-esdhc.c |
| @@ -1074,6 +1074,9 @@ 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")) |
| + host->quirks2 |= SDHCI_QUIRK_RESET_AFTER_REQUEST; |
| + |
| if (of_device_is_compatible(np, "fsl,p5040-esdhc") || |
| of_device_is_compatible(np, "fsl,p5020-esdhc") || |
| of_device_is_compatible(np, "fsl,p4080-esdhc") || |
| -- |
| 2.20.1 |
| |