Commit 8809d6e036d740e6740e99bf55d34d90aa90a5b2

Authored by Peng Fan
1 parent dd8a14dd46

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)

Showing 1 changed file with 20 additions and 0 deletions Side-by-side Diff

drivers/mmc/fsl_esdhc_imx.c
... ... @@ -134,6 +134,8 @@
134 134 struct fsl_esdhc *esdhc_regs;
135 135 unsigned int sdhc_clk;
136 136 struct clk per_clk;
  137 + struct clk ipg_clk;
  138 + struct clk ahb_clk;
137 139 unsigned int clock;
138 140 unsigned int mode;
139 141 unsigned int bus_width;
... ... @@ -1513,6 +1515,24 @@
1513 1515  
1514 1516 #if CONFIG_IS_ENABLED(CLK)
1515 1517 /* Assigned clock already set clock */
  1518 + ret = clk_get_by_name(dev, "ipg", &priv->ipg_clk);
  1519 + if (!ret) {
  1520 + ret = clk_enable(&priv->ipg_clk);
  1521 + if (ret) {
  1522 + printf("Failed to enable ipg_clk\n");
  1523 + return ret;
  1524 + }
  1525 + }
  1526 +
  1527 + ret = clk_get_by_name(dev, "ahb", &priv->ahb_clk);
  1528 + if (!ret) {
  1529 + ret = clk_enable(&priv->ahb_clk);
  1530 + if (ret) {
  1531 + printf("Failed to enable ahb_clk\n");
  1532 + return ret;
  1533 + }
  1534 + }
  1535 +
1516 1536 ret = clk_get_by_name(dev, "per", &priv->per_clk);
1517 1537 if (ret) {
1518 1538 printf("Failed to get per_clk\n");