mirror of
https://github.com/u-boot/u-boot.git
synced 2025-01-25 20:23:27 +08:00
mmc: fsl_esdhc_imx: drop redundant clock settings
During mmc initialization, there are several calls to mmc_set_clock and mmc_set_ios. When mmc_power_off, the mmc->clock will be set, but the imx driver will use 400KHz. So the following calls to mmc_set_ios will set the clock several times which is redundant in fsl_esdhc_imx driver. So let's simplify to remove redundant clock settings. Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
618704753e
commit
1d01c984b9
@ -627,9 +627,6 @@ static void set_sysctl(struct fsl_esdhc_priv *priv, struct mmc *mmc, uint clock)
|
||||
int sdhc_clk = priv->sdhc_clk;
|
||||
uint clk;
|
||||
|
||||
if (clock < mmc->cfg->f_min)
|
||||
clock = mmc->cfg->f_min;
|
||||
|
||||
while (sdhc_clk / (16 * pre_div * ddr_pre_div) > clock && pre_div < 256)
|
||||
pre_div *= 2;
|
||||
|
||||
@ -958,6 +955,7 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
|
||||
{
|
||||
struct fsl_esdhc *regs = priv->esdhc_regs;
|
||||
int ret __maybe_unused;
|
||||
u32 clock;
|
||||
|
||||
#ifdef CONFIG_FSL_ESDHC_USE_PERIPHERAL_CLK
|
||||
/* Select to use peripheral clock */
|
||||
@ -966,8 +964,12 @@ static int esdhc_set_ios_common(struct fsl_esdhc_priv *priv, struct mmc *mmc)
|
||||
esdhc_clock_control(priv, true);
|
||||
#endif
|
||||
/* Set the clock speed */
|
||||
if (priv->clock != mmc->clock)
|
||||
set_sysctl(priv, mmc, mmc->clock);
|
||||
clock = mmc->clock;
|
||||
if (clock < mmc->cfg->f_min)
|
||||
clock = mmc->cfg->f_min;
|
||||
|
||||
if (priv->clock != clock)
|
||||
set_sysctl(priv, mmc, clock);
|
||||
|
||||
#ifdef MMC_SUPPORTS_TUNING
|
||||
if (mmc->clk_disable) {
|
||||
|
Loading…
Reference in New Issue
Block a user