Skip to content

Commit 4014e91

Browse files
jernejskbebarino
authored andcommitted
clk: sunxi-ng: h6: Fix default PLL GPU rate
In commit 4167ac8 ("clk: sunxi-ng: sun50i: h6: Modify GPU clock configuration to support DFS") divider M0 was forced to be 1 in order to support DFS. However, that left N as it is, at high value of 36. On boards without devfreq enabled (all of them in kernel 6.0), this effectively sets GPU frequency to 864 MHz. This is about 100 MHz above maximum supported frequency. In order to fix this, let's set N to 18 (register value 17). That way default frequency of 432 MHz is preserved. Fixes: 4167ac8 ("clk: sunxi-ng: sun50i: h6: Modify GPU clock configuration to support DFS") Signed-off-by: Jernej Skrabec <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Stephen Boyd <[email protected]>
1 parent b1ff1bf commit 4014e91

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/clk/sunxi-ng/ccu-sun50i-h6.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,9 +1191,13 @@ static int sun50i_h6_ccu_probe(struct platform_device *pdev)
11911191
if (IS_ERR(reg))
11921192
return PTR_ERR(reg);
11931193

1194-
/* Force PLL_GPU output divider bits to 0 */
1194+
/*
1195+
* Force PLL_GPU output divider bits to 0 and adjust
1196+
* multiplier to sensible default value of 432 MHz.
1197+
*/
11951198
val = readl(reg + SUN50I_H6_PLL_GPU_REG);
1196-
val &= ~BIT(0);
1199+
val &= ~(GENMASK(15, 8) | BIT(0));
1200+
val |= 17 << 8;
11971201
writel(val, reg + SUN50I_H6_PLL_GPU_REG);
11981202

11991203
/* Force GPU_CLK divider bits to 0 */

0 commit comments

Comments
 (0)