Because of dwmmc driver get clk form a fixed index 1, so must add
SCLK_SDMMC and SCLK_EMMC support to make emmc work.

Signed-off-by: WeiHao Li <cn.liwei...@gmail.com>
---
 drivers/clk/rockchip/clk_rk3368.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/clk/rockchip/clk_rk3368.c 
b/drivers/clk/rockchip/clk_rk3368.c
index 994330162..f9936fb40 100644
--- a/drivers/clk/rockchip/clk_rk3368.c
+++ b/drivers/clk/rockchip/clk_rk3368.c
@@ -165,9 +165,11 @@ static ulong rk3368_mmc_get_clk(struct rk3368_cru *cru, 
uint clk_id)
 
        switch (clk_id) {
        case HCLK_SDMMC:
+       case SCLK_SDMMC:
                con_id = 50;
                break;
        case HCLK_EMMC:
+       case SCLK_EMMC:
                con_id = 51;
                break;
        case SCLK_SDIO0:
@@ -262,9 +264,11 @@ static ulong rk3368_mmc_set_clk(struct clk *clk, ulong 
rate)
 
        switch (clk_id) {
        case HCLK_SDMMC:
+       case SCLK_SDMMC:
                con_id = 50;
                break;
        case HCLK_EMMC:
+       case SCLK_EMMC:
                con_id = 51;
                break;
        case SCLK_SDIO0:
@@ -559,6 +563,8 @@ static ulong rk3368_clk_get_rate(struct clk *clk)
 #if !IS_ENABLED(CONFIG_XPL_BUILD) || CONFIG_IS_ENABLED(MMC)
        case HCLK_SDMMC:
        case HCLK_EMMC:
+       case SCLK_SDMMC:
+       case SCLK_EMMC:
                rate = rk3368_mmc_get_clk(priv->cru, clk->id);
                break;
 #endif
@@ -597,6 +603,8 @@ static ulong rk3368_clk_set_rate(struct clk *clk, ulong 
rate)
 #if !IS_ENABLED(CONFIG_XPL_BUILD) || CONFIG_IS_ENABLED(MMC)
        case HCLK_SDMMC:
        case HCLK_EMMC:
+       case SCLK_SDMMC:
+       case SCLK_EMMC:
                ret = rk3368_mmc_set_clk(clk, rate);
                break;
 #endif
-- 
2.39.5

Reply via email to