summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2020-05-28 15:20:02 +0800
committerPeng Fan <peng.fan@nxp.com>2020-05-28 17:20:37 +0800
commit8809d6e036d740e6740e99bf55d34d90aa90a5b2 (patch)
tree3f390ba40f0194d9a3dde0ab10a62bfa68a86567
parentdd8a14dd46f8b508cfc879100942bcb05a6d6c1c (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.c20
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");