mmc: fsl_esdhc: set sysctl register for clock initialization
authorYangbo Lu <yangbo.lu@nxp.com>
Tue, 20 Oct 2020 03:04:51 +0000 (11:04 +0800)
committerPeng Fan <peng.fan@nxp.com>
Sat, 28 Nov 2020 02:39:44 +0000 (10:39 +0800)
The initial clock setting should be through sysctl register only,
while the mmc_set_clock() will call mmc_set_ios() introduce other
configurations like bus width, mode, and so on.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/fsl_esdhc.c

index 642784e..68130ee 100644 (file)
@@ -715,7 +715,7 @@ static int esdhc_init_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
        esdhc_setbits32(&regs->sysctl, SYSCTL_HCKEN | SYSCTL_IPGEN);
 
        /* Set the initial clock speed */
-       mmc_set_clock(mmc, 400000, MMC_CLK_ENABLE);
+       set_sysctl(priv, mmc, 400000);
 
        /* Disable the BRR and BWR bits in IRQSTAT */
        esdhc_clrbits32(&regs->irqstaten, IRQSTATEN_BRR | IRQSTATEN_BWR);