clk: rockchip: rk3568: update clks

fix up ppll init freq.
support tclk_emmc.
add freq (26M) for mmc device.
fix up the sfc clk rate unit error.

Change in V2:
remove change id.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Elaine Zhang 2021-10-12 16:43:00 +08:00 committed by Kever Yang
parent 24c627b57a
commit f2cdd44adb
2 changed files with 10 additions and 3 deletions

View file

@ -14,7 +14,7 @@
#define APLL_HZ (816 * MHz) #define APLL_HZ (816 * MHz)
#define GPLL_HZ (1188 * MHz) #define GPLL_HZ (1188 * MHz)
#define CPLL_HZ (1000 * MHz) #define CPLL_HZ (1000 * MHz)
#define PPLL_HZ (100 * MHz) #define PPLL_HZ (200 * MHz)
/* RK3568 pll id */ /* RK3568 pll id */
enum rk3568_pll_id { enum rk3568_pll_id {

View file

@ -1441,6 +1441,7 @@ static ulong rk3568_sdmmc_set_clk(struct rk3568_clk_priv *priv,
switch (rate) { switch (rate) {
case OSC_HZ: case OSC_HZ:
case 26 * MHz:
src_clk = CLK_SDMMC_SEL_24M; src_clk = CLK_SDMMC_SEL_24M;
break; break;
case 400 * MHz: case 400 * MHz:
@ -1507,7 +1508,7 @@ static ulong rk3568_sfc_get_clk(struct rk3568_clk_priv *priv)
case SCLK_SFC_SEL_125M: case SCLK_SFC_SEL_125M:
return 125 * MHz; return 125 * MHz;
case SCLK_SFC_SEL_150M: case SCLK_SFC_SEL_150M:
return 150 * KHz; return 150 * MHz;
default: default:
return -ENOENT; return -ENOENT;
} }
@ -1534,7 +1535,7 @@ static ulong rk3568_sfc_set_clk(struct rk3568_clk_priv *priv, ulong rate)
case 125 * MHz: case 125 * MHz:
src_clk = SCLK_SFC_SEL_125M; src_clk = SCLK_SFC_SEL_125M;
break; break;
case 150 * KHz: case 150 * MHz:
src_clk = SCLK_SFC_SEL_150M; src_clk = SCLK_SFC_SEL_150M;
break; break;
default: default:
@ -2406,6 +2407,9 @@ static ulong rk3568_clk_get_rate(struct clk *clk)
case BCLK_EMMC: case BCLK_EMMC:
rate = rk3568_emmc_get_bclk(priv); rate = rk3568_emmc_get_bclk(priv);
break; break;
case TCLK_EMMC:
rate = OSC_HZ;
break;
#ifndef CONFIG_SPL_BUILD #ifndef CONFIG_SPL_BUILD
case ACLK_VOP: case ACLK_VOP:
rate = rk3568_aclk_vop_get_clk(priv); rate = rk3568_aclk_vop_get_clk(priv);
@ -2582,6 +2586,9 @@ static ulong rk3568_clk_set_rate(struct clk *clk, ulong rate)
case BCLK_EMMC: case BCLK_EMMC:
ret = rk3568_emmc_set_bclk(priv, rate); ret = rk3568_emmc_set_bclk(priv, rate);
break; break;
case TCLK_EMMC:
ret = OSC_HZ;
break;
#ifndef CONFIG_SPL_BUILD #ifndef CONFIG_SPL_BUILD
case ACLK_VOP: case ACLK_VOP:
ret = rk3568_aclk_vop_set_clk(priv, rate); ret = rk3568_aclk_vop_set_clk(priv, rate);