]> git.dujemihanovic.xyz Git - u-boot.git/commit
clk: renesas: r8a779h0: Drop CLK_PLL2_DIV2 to clarify ZCn clocks
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 20 Dec 2024 00:04:08 +0000 (01:04 +0100)
committerMarek Vasut <marek.vasut+renesas@mailbox.org>
Fri, 20 Dec 2024 21:20:37 +0000 (22:20 +0100)
commit08806a6e5224e2500f54c2c29acbb6724fe7f5a9
tree8d2d209abd7f29039f1d6b38d559db902f26f00f
parent5c8ef70f0872399b3764b2addf1ed27e22dc61b0
clk: renesas: r8a779h0: Drop CLK_PLL2_DIV2 to clarify ZCn clocks

Early revisions of the R-Car V4M Series Hardware User’s Manual
contained an incorrect formula for the CPU core clocks:

    ZCnφ = (PLL2VCO x 1/2) x mult/32

Dang-san fixed this by using CLK_PLL2_DIV2 instead of CLK_PLL2 as the
parent clock.

In Rev.0.70 of the documentation, the formula was corrected to:

    ZCnφ = (PLL2VCO x 1/4) x mult/32

As the CPG Block Diagram now shows a separate 1/4 post-divider for PLL2,
the use of CLK_PLL2_DIV2 is a recurring source of confusion.  Hence get
rid of CLK_PLL2_DIV2, and include the proper 1/4 post-divider in the
invocation of the DEF_GEN4_Z() macro, like is done on other R-Car Gen4
(and Gen3) SoCs.

Ported from Linux commit
92850bed9d4d ("clk: renesas: r8a779h0: Drop CLK_PLL2_DIV2 to clarify ZCn clocks")

Reported-by: Vinh Nguyen <vinh.nguyen.xz@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/0d2789cac2bf306145fe0bbf269c2da5942bb68f.1728377724.git.geert+renesas@glider.be
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
drivers/clk/renesas/r8a779h0-cpg-mssr.c