diff options
author | Peng Fan <peng.fan@nxp.com> | 2020-05-28 15:20:02 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2020-05-28 17:20:37 +0800 |
commit | 8809d6e036d740e6740e99bf55d34d90aa90a5b2 (patch) | |
tree | 3f390ba40f0194d9a3dde0ab10a62bfa68a86567 | |
parent | dd8a14dd46f8b508cfc879100942bcb05a6d6c1c (diff) |
MLK-24188-2 mmc: fsl_esdhc_imx: enable AHB/IPG clk
Only enable PER clk is not enough, we also need to enable AHB/IPG clk.
Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit 867c5f2a706e6ee72fd263de02125c97acde89e1)
-rw-r--r-- | drivers/mmc/fsl_esdhc_imx.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index b99fcacd70..276e17d459 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -134,6 +134,8 @@ struct fsl_esdhc_priv { struct fsl_esdhc *esdhc_regs; unsigned int sdhc_clk; struct clk per_clk; + struct clk ipg_clk; + struct clk ahb_clk; unsigned int clock; unsigned int mode; unsigned int bus_width; @@ -1513,6 +1515,24 @@ static int fsl_esdhc_probe(struct udevice *dev) #if CONFIG_IS_ENABLED(CLK) /* Assigned clock already set clock */ + ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk); + if (!ret) { + ret = clk_enable(&priv->ipg_clk); + if (ret) { + printf("Failed to enable ipg_clk\n"); + return ret; + } + } + + ret = clk_get_by_name(dev, "ahb", &priv->ahb_clk); + if (!ret) { + ret = clk_enable(&priv->ahb_clk); + if (ret) { + printf("Failed to enable ahb_clk\n"); + return ret; + } + } + ret = clk_get_by_name(dev, "per", &priv->per_clk); if (ret) { printf("Failed to get per_clk\n"); |