[PATCH] mmc: fsl_esdhc_imx: fix the DTOCV to 0xE

From: Haibo Chen haibo.chen@nxp.com
On imx6Q/imx6DL, we find if config the DTOCV to 0~3, it will impact cmd6 behavior, after cmd6 get transfer complete interrupt, the data0 line will keep low over 5 seconds. This should be a IC bug on imx6Q/DL. For other platforms, do not has this issue.
To fix this issue, fix the DTOCV to 0xE, the max setting, this also align with Linux configuration.
Signed-off-by: Haibo Chen haibo.chen@nxp.com Reviewed-by: Ye Li ye.li@nxp.com --- drivers/mmc/fsl_esdhc_imx.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index e0e1326..7b31ed8 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -43,6 +43,12 @@ #include "mmc_private.h" #endif
+#ifndef ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE +#ifdef CONFIG_FSL_USDHC +#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE 1 +#endif +#endif + DECLARE_GLOBAL_DATA_PTR;
#define SDHCI_IRQ_EN_BITS (IRQSTATEN_CC | IRQSTATEN_TC | \

On 2/20/21 4:25 AM, Ye Li wrote:
From: Haibo Chen haibo.chen@nxp.com
On imx6Q/imx6DL, we find if config the DTOCV to 0~3, it will impact cmd6 behavior, after cmd6 get transfer complete interrupt, the data0 line will keep low over 5 seconds. This should be a IC bug on imx6Q/DL. For other platforms, do not has this issue.
To fix this issue, fix the DTOCV to 0xE, the max setting, this also align with Linux configuration.
Signed-off-by: Haibo Chen haibo.chen@nxp.com Reviewed-by: Ye Li ye.li@nxp.com
Reviewed-by: Jaehoon Chung jh80.chung@samsung.com
Best Regards, Jaehoon Chung
drivers/mmc/fsl_esdhc_imx.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index e0e1326..7b31ed8 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -43,6 +43,12 @@ #include "mmc_private.h" #endif
+#ifndef ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE +#ifdef CONFIG_FSL_USDHC +#define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE 1 +#endif +#endif
DECLARE_GLOBAL_DATA_PTR;
#define SDHCI_IRQ_EN_BITS (IRQSTATEN_CC | IRQSTATEN_TC | \

From: Haibo Chen haibo.chen@nxp.com On imx6Q/imx6DL, we find if config the DTOCV to 0~3, it will impact cmd6 behavior, after cmd6 get transfer complete interrupt, the data0 line will keep low over 5 seconds. This should be a IC bug on imx6Q/DL. For other platforms, do not has this issue. To fix this issue, fix the DTOCV to 0xE, the max setting, this also align with Linux configuration. Signed-off-by: Haibo Chen haibo.chen@nxp.com Reviewed-by: Ye Li ye.li@nxp.com Reviewed-by: Jaehoon Chung jh80.chung@samsung.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (3)
-
Jaehoon Chung
-
sbabic@denx.de
-
Ye Li