Clean TBCTL[TB_EN] manually during init since it is not able to
be reset by reset all operation.

Signed-off-by: Yangbo Lu <[email protected]>
---
Changes for v2:
        - None.
Changes for v3:
        - None.
---
 drivers/mmc/fsl_esdhc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index fc9d0c9..c52ab0f 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -637,6 +637,9 @@ static int esdhc_init_common(struct fsl_esdhc_priv *priv, 
struct mmc *mmc)
                        return -ETIMEDOUT;
        }
 
+       /* Clean TBCTL[TB_EN] which is not able to be reset by reset all */
+       esdhc_clrbits32(&regs->tbctl, TBCTL_TB_EN);
+
        esdhc_enable_cache_snooping(regs);
 
        esdhc_setbits32(&regs->sysctl, SYSCTL_HCKEN | SYSCTL_IPGEN);
-- 
2.7.4

Reply via email to