]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
clk: renesas: r8a779h0: Model PLL1/2/3/4/6 as fractional PLLs
authorGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 22 Jul 2024 11:50:32 +0000 (13:50 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 30 Jul 2024 08:44:18 +0000 (10:44 +0200)
Currently, all PLLs are modelled as fixed divider clocks, based on the
state of the mode pins.  However, the boot loader stack may have changed
the actual PLL configuration from the default, leading to incorrect
clock frequencies.

Describe PLL1 as a fixed fractional PLL instead, and PLL2, PLL3, PLL4,
and PLL6 as variable fractional PLLs.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/3beac7c44534ed153ce7cea5c31f4b0bb7b16ab0.1721648548.git.geert+renesas@glider.be
drivers/clk/renesas/r8a779h0-cpg-mssr.c

index adfdbf768dc31ec4d1d3a5099d7d9f6cd1c86781..c695891380ad107c84867fe3ea5df631727fc380 100644 (file)
@@ -70,12 +70,12 @@ static const struct cpg_core_clk r8a779h0_core_clks[] __initconst = {
 
        /* Internal Core Clocks */
        DEF_BASE(".main", CLK_MAIN,     CLK_TYPE_GEN4_MAIN,     CLK_EXTAL),
-       DEF_BASE(".pll1", CLK_PLL1,     CLK_TYPE_GEN4_PLL1,     CLK_MAIN),
-       DEF_BASE(".pll2", CLK_PLL2,     CLK_TYPE_GEN4_PLL2,     CLK_MAIN),
-       DEF_BASE(".pll3", CLK_PLL3,     CLK_TYPE_GEN4_PLL3,     CLK_MAIN),
-       DEF_BASE(".pll4", CLK_PLL4,     CLK_TYPE_GEN4_PLL4,     CLK_MAIN),
+       DEF_GEN4_PLL_F8_25(".pll1", 1,  CLK_PLL1,               CLK_MAIN),
+       DEF_GEN4_PLL_V8_25(".pll2", 2,  CLK_PLL2,               CLK_MAIN),
+       DEF_GEN4_PLL_V8_25(".pll3", 3,  CLK_PLL3,               CLK_MAIN),
+       DEF_GEN4_PLL_V8_25(".pll4", 4,  CLK_PLL4,               CLK_MAIN),
        DEF_BASE(".pll5", CLK_PLL5,     CLK_TYPE_GEN4_PLL5,     CLK_MAIN),
-       DEF_BASE(".pll6", CLK_PLL6,     CLK_TYPE_GEN4_PLL6,     CLK_MAIN),
+       DEF_GEN4_PLL_V8_25(".pll6", 6,  CLK_PLL6,               CLK_MAIN),
 
        DEF_FIXED(".pll1_div2", CLK_PLL1_DIV2,  CLK_PLL1,       2, 1),
        DEF_FIXED(".pll2_div2", CLK_PLL2_DIV2,  CLK_PLL2,       2, 1),