* [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage
@ 2025-04-08 6:31 Alexander Shiyan
2025-04-08 6:31 ` [PATCH 2/2] clk: rockchip: clk-pll: Typo fix Alexander Shiyan
2025-04-08 7:31 ` [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Heiko Stübner
0 siblings, 2 replies; 4+ messages in thread
From: Alexander Shiyan @ 2025-04-08 6:31 UTC (permalink / raw)
To: linux-rockchip
Cc: Michael Turquette, Stephen Boyd, Heiko Stuebner, linux-clk,
linux-arm-kernel, Alexander Shiyan
According to RK3588 TRM, CRU_(CPLL/GPLL/etc)_CON2 register
(rate-k value) does not use highword write enable mask.
Lets fix this.
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
drivers/clk/rockchip/clk-pll.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
index 2c2abb3b4210..77ba4d6e7b5f 100644
--- a/drivers/clk/rockchip/clk-pll.c
+++ b/drivers/clk/rockchip/clk-pll.c
@@ -959,7 +959,7 @@ static int rockchip_rk3588_pll_set_params(struct rockchip_clk_pll *pll,
HIWORD_UPDATE(rate->s, RK3588_PLLCON1_S_MASK, RK3588_PLLCON1_S_SHIFT),
pll->reg_base + RK3399_PLLCON(1));
- writel_relaxed(HIWORD_UPDATE(rate->k, RK3588_PLLCON2_K_MASK, RK3588_PLLCON2_K_SHIFT),
+ writel_relaxed((rate->k & RK3588_PLLCON2_K_MASK) << RK3588_PLLCON2_K_SHIFT,
pll->reg_base + RK3399_PLLCON(2));
/* set pll power up */
--
2.39.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] clk: rockchip: clk-pll: Typo fix
2025-04-08 6:31 [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Alexander Shiyan
@ 2025-04-08 6:31 ` Alexander Shiyan
2025-04-08 7:31 ` [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Heiko Stübner
1 sibling, 0 replies; 4+ messages in thread
From: Alexander Shiyan @ 2025-04-08 6:31 UTC (permalink / raw)
To: linux-rockchip
Cc: Michael Turquette, Stephen Boyd, Heiko Stuebner, linux-clk,
linux-arm-kernel, Alexander Shiyan
Fixed RK3399 -> RK3588 typo.
No functional changes.
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
drivers/clk/rockchip/clk-pll.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
index 77ba4d6e7b5f..6c5039bd661f 100644
--- a/drivers/clk/rockchip/clk-pll.c
+++ b/drivers/clk/rockchip/clk-pll.c
@@ -949,18 +949,18 @@ static int rockchip_rk3588_pll_set_params(struct rockchip_clk_pll *pll,
/* set pll power down */
writel(HIWORD_UPDATE(RK3588_PLLCON1_PWRDOWN,
RK3588_PLLCON1_PWRDOWN, 0),
- pll->reg_base + RK3399_PLLCON(1));
+ pll->reg_base + RK3588_PLLCON(1));
/* update pll values */
writel_relaxed(HIWORD_UPDATE(rate->m, RK3588_PLLCON0_M_MASK, RK3588_PLLCON0_M_SHIFT),
- pll->reg_base + RK3399_PLLCON(0));
+ pll->reg_base + RK3588_PLLCON(0));
writel_relaxed(HIWORD_UPDATE(rate->p, RK3588_PLLCON1_P_MASK, RK3588_PLLCON1_P_SHIFT) |
HIWORD_UPDATE(rate->s, RK3588_PLLCON1_S_MASK, RK3588_PLLCON1_S_SHIFT),
- pll->reg_base + RK3399_PLLCON(1));
+ pll->reg_base + RK3588_PLLCON(1));
writel_relaxed((rate->k & RK3588_PLLCON2_K_MASK) << RK3588_PLLCON2_K_SHIFT,
- pll->reg_base + RK3399_PLLCON(2));
+ pll->reg_base + RK3588_PLLCON(2));
/* set pll power up */
writel(HIWORD_UPDATE(0, RK3588_PLLCON1_PWRDOWN, 0),
--
2.39.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage
2025-04-08 6:31 [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Alexander Shiyan
2025-04-08 6:31 ` [PATCH 2/2] clk: rockchip: clk-pll: Typo fix Alexander Shiyan
@ 2025-04-08 7:31 ` Heiko Stübner
2025-04-08 10:50 ` Alexander Shiyan
1 sibling, 1 reply; 4+ messages in thread
From: Heiko Stübner @ 2025-04-08 7:31 UTC (permalink / raw)
To: linux-rockchip, Alexander Shiyan
Cc: Michael Turquette, Stephen Boyd, linux-clk, linux-arm-kernel,
Alexander Shiyan, Kever Yang
Hi Alexander,
Am Dienstag, 8. April 2025, 08:31:25 Mitteleuropäische Sommerzeit schrieb Alexander Shiyan:
> According to RK3588 TRM, CRU_(CPLL/GPLL/etc)_CON2 register
> (rate-k value) does not use highword write enable mask.
> Lets fix this.
>
> Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
The commit message doesn't say, but did you check this on actual
hardware too?
Sometimes there is a disconnect between the TRM and actual hardware,
so the actual real-life situation should be checked.
As for a test-case, any write without write-mask to a register that
would require a write-mask would not come through.
So with your patch applied, does the register value change after
the write below when reading it back again?
Thanks
Heiko
> ---
> drivers/clk/rockchip/clk-pll.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
> index 2c2abb3b4210..77ba4d6e7b5f 100644
> --- a/drivers/clk/rockchip/clk-pll.c
> +++ b/drivers/clk/rockchip/clk-pll.c
> @@ -959,7 +959,7 @@ static int rockchip_rk3588_pll_set_params(struct rockchip_clk_pll *pll,
> HIWORD_UPDATE(rate->s, RK3588_PLLCON1_S_MASK, RK3588_PLLCON1_S_SHIFT),
> pll->reg_base + RK3399_PLLCON(1));
>
> - writel_relaxed(HIWORD_UPDATE(rate->k, RK3588_PLLCON2_K_MASK, RK3588_PLLCON2_K_SHIFT),
> + writel_relaxed((rate->k & RK3588_PLLCON2_K_MASK) << RK3588_PLLCON2_K_SHIFT,
> pll->reg_base + RK3399_PLLCON(2));
>
> /* set pll power up */
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage
2025-04-08 7:31 ` [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Heiko Stübner
@ 2025-04-08 10:50 ` Alexander Shiyan
0 siblings, 0 replies; 4+ messages in thread
From: Alexander Shiyan @ 2025-04-08 10:50 UTC (permalink / raw)
To: Heiko Stübner
Cc: linux-rockchip, Michael Turquette, Stephen Boyd, linux-clk,
linux-arm-kernel, Kever Yang
Hello.
Yes, everything works as expected:
# mw 0xfd7c01a8 0x00001234
# md 0xfd7c01a8+4
fd7c01a8: 00001234
# mw 0xfd7c01a8 0x00005678
# md 0xfd7c01a8+4
fd7c01a8: 00005678
вт, 8 апр. 2025 г. в 10:31, Heiko Stübner <heiko@sntech.de>:
>
> Hi Alexander,
>
> Am Dienstag, 8. April 2025, 08:31:25 Mitteleuropäische Sommerzeit schrieb Alexander Shiyan:
> > According to RK3588 TRM, CRU_(CPLL/GPLL/etc)_CON2 register
> > (rate-k value) does not use highword write enable mask.
> > Lets fix this.
> >
> > Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
>
> The commit message doesn't say, but did you check this on actual
> hardware too?
>
> Sometimes there is a disconnect between the TRM and actual hardware,
> so the actual real-life situation should be checked.
>
>
> As for a test-case, any write without write-mask to a register that
> would require a write-mask would not come through.
> So with your patch applied, does the register value change after
> the write below when reading it back again?
>
>
> Thanks
> Heiko
>
>
> > ---
> > drivers/clk/rockchip/clk-pll.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
> > index 2c2abb3b4210..77ba4d6e7b5f 100644
> > --- a/drivers/clk/rockchip/clk-pll.c
> > +++ b/drivers/clk/rockchip/clk-pll.c
> > @@ -959,7 +959,7 @@ static int rockchip_rk3588_pll_set_params(struct rockchip_clk_pll *pll,
> > HIWORD_UPDATE(rate->s, RK3588_PLLCON1_S_MASK, RK3588_PLLCON1_S_SHIFT),
> > pll->reg_base + RK3399_PLLCON(1));
> >
> > - writel_relaxed(HIWORD_UPDATE(rate->k, RK3588_PLLCON2_K_MASK, RK3588_PLLCON2_K_SHIFT),
> > + writel_relaxed((rate->k & RK3588_PLLCON2_K_MASK) << RK3588_PLLCON2_K_SHIFT,
> > pll->reg_base + RK3399_PLLCON(2));
> >
> > /* set pll power up */
> >
>
>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-04-08 13:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-08 6:31 [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Alexander Shiyan
2025-04-08 6:31 ` [PATCH 2/2] clk: rockchip: clk-pll: Typo fix Alexander Shiyan
2025-04-08 7:31 ` [PATCH 1/2] clk: rockchip: clk-pll: Fix CRU_xx_CON2 register usage Heiko Stübner
2025-04-08 10:50 ` Alexander Shiyan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).