diff mbox series

[v2] clk: rockchip: rk3568: update clks

Message ID 20211012084300.25975-1-zhangqing@rock-chips.com
State Accepted
Commit f2cdd44adb9f06f455185b4882cfd91e8d75d58a
Delegated to: Kever Yang
Headers show
Series [v2] clk: rockchip: rk3568: update clks | expand

Commit Message

zhangqing Oct. 12, 2021, 8:43 a.m. UTC
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>
---
 arch/arm/include/asm/arch-rockchip/cru_rk3568.h |  2 +-
 drivers/clk/rockchip/clk_rk3568.c               | 11 +++++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

Comments

Kever Yang Oct. 15, 2021, 12:40 p.m. UTC | #1
On 2021/10/12 下午4:43, Elaine Zhang wrote:
> 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>


Thanks,
- Kever
> ---
>   arch/arm/include/asm/arch-rockchip/cru_rk3568.h |  2 +-
>   drivers/clk/rockchip/clk_rk3568.c               | 11 +++++++++--
>   2 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3568.h b/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
> index 6c59033f03a6..399f19ad21ec 100644
> --- a/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
> +++ b/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
> @@ -14,7 +14,7 @@
>   #define APLL_HZ		(816 * MHz)
>   #define GPLL_HZ		(1188 * MHz)
>   #define CPLL_HZ		(1000 * MHz)
> -#define PPLL_HZ		(100 * MHz)
> +#define PPLL_HZ		(200 * MHz)
>   
>   /* RK3568 pll id */
>   enum rk3568_pll_id {
> diff --git a/drivers/clk/rockchip/clk_rk3568.c b/drivers/clk/rockchip/clk_rk3568.c
> index 553c6c0dafbd..d5e45e7602c7 100644
> --- a/drivers/clk/rockchip/clk_rk3568.c
> +++ b/drivers/clk/rockchip/clk_rk3568.c
> @@ -1441,6 +1441,7 @@ static ulong rk3568_sdmmc_set_clk(struct rk3568_clk_priv *priv,
>   
>   	switch (rate) {
>   	case OSC_HZ:
> +	case 26 * MHz:
>   		src_clk = CLK_SDMMC_SEL_24M;
>   		break;
>   	case 400 * MHz:
> @@ -1507,7 +1508,7 @@ static ulong rk3568_sfc_get_clk(struct rk3568_clk_priv *priv)
>   	case SCLK_SFC_SEL_125M:
>   		return 125 * MHz;
>   	case SCLK_SFC_SEL_150M:
> -		return 150 * KHz;
> +		return 150 * MHz;
>   	default:
>   		return -ENOENT;
>   	}
> @@ -1534,7 +1535,7 @@ static ulong rk3568_sfc_set_clk(struct rk3568_clk_priv *priv, ulong rate)
>   	case 125 * MHz:
>   		src_clk = SCLK_SFC_SEL_125M;
>   		break;
> -	case 150 * KHz:
> +	case 150 * MHz:
>   		src_clk = SCLK_SFC_SEL_150M;
>   		break;
>   	default:
> @@ -2406,6 +2407,9 @@ static ulong rk3568_clk_get_rate(struct clk *clk)
>   	case BCLK_EMMC:
>   		rate = rk3568_emmc_get_bclk(priv);
>   		break;
> +	case TCLK_EMMC:
> +		rate = OSC_HZ;
> +		break;
>   #ifndef CONFIG_SPL_BUILD
>   	case ACLK_VOP:
>   		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:
>   		ret = rk3568_emmc_set_bclk(priv, rate);
>   		break;
> +	case TCLK_EMMC:
> +		ret = OSC_HZ;
> +		break;
>   #ifndef CONFIG_SPL_BUILD
>   	case ACLK_VOP:
>   		ret = rk3568_aclk_vop_set_clk(priv, rate);
diff mbox series

Patch

diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3568.h b/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
index 6c59033f03a6..399f19ad21ec 100644
--- a/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3568.h
@@ -14,7 +14,7 @@ 
 #define APLL_HZ		(816 * MHz)
 #define GPLL_HZ		(1188 * MHz)
 #define CPLL_HZ		(1000 * MHz)
-#define PPLL_HZ		(100 * MHz)
+#define PPLL_HZ		(200 * MHz)
 
 /* RK3568 pll id */
 enum rk3568_pll_id {
diff --git a/drivers/clk/rockchip/clk_rk3568.c b/drivers/clk/rockchip/clk_rk3568.c
index 553c6c0dafbd..d5e45e7602c7 100644
--- a/drivers/clk/rockchip/clk_rk3568.c
+++ b/drivers/clk/rockchip/clk_rk3568.c
@@ -1441,6 +1441,7 @@  static ulong rk3568_sdmmc_set_clk(struct rk3568_clk_priv *priv,
 
 	switch (rate) {
 	case OSC_HZ:
+	case 26 * MHz:
 		src_clk = CLK_SDMMC_SEL_24M;
 		break;
 	case 400 * MHz:
@@ -1507,7 +1508,7 @@  static ulong rk3568_sfc_get_clk(struct rk3568_clk_priv *priv)
 	case SCLK_SFC_SEL_125M:
 		return 125 * MHz;
 	case SCLK_SFC_SEL_150M:
-		return 150 * KHz;
+		return 150 * MHz;
 	default:
 		return -ENOENT;
 	}
@@ -1534,7 +1535,7 @@  static ulong rk3568_sfc_set_clk(struct rk3568_clk_priv *priv, ulong rate)
 	case 125 * MHz:
 		src_clk = SCLK_SFC_SEL_125M;
 		break;
-	case 150 * KHz:
+	case 150 * MHz:
 		src_clk = SCLK_SFC_SEL_150M;
 		break;
 	default:
@@ -2406,6 +2407,9 @@  static ulong rk3568_clk_get_rate(struct clk *clk)
 	case BCLK_EMMC:
 		rate = rk3568_emmc_get_bclk(priv);
 		break;
+	case TCLK_EMMC:
+		rate = OSC_HZ;
+		break;
 #ifndef CONFIG_SPL_BUILD
 	case ACLK_VOP:
 		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:
 		ret = rk3568_emmc_set_bclk(priv, rate);
 		break;
+	case TCLK_EMMC:
+		ret = OSC_HZ;
+		break;
 #ifndef CONFIG_SPL_BUILD
 	case ACLK_VOP:
 		ret = rk3568_aclk_vop_set_clk(priv, rate);