Add CLK_PLLVDO_GPU along with the necessary clock and reset entries for
GE3D.
Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com>
---
drivers/clk/renesas/r9a09g047-cpg.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/clk/renesas/r9a09g047-cpg.c b/drivers/clk/renesas/r9a09g047-cpg.c
index e9cf4342d0cfb..2aa1e0aa4d36d 100644
--- a/drivers/clk/renesas/r9a09g047-cpg.c
+++ b/drivers/clk/renesas/r9a09g047-cpg.c
@@ -41,6 +41,7 @@ enum clk_ids {
CLK_PLLDTY_ACPU_DIV4,
CLK_PLLDTY_DIV16,
CLK_PLLVDO_CRU0,
+ CLK_PLLVDO_GPU,
/* Module Clocks */
MOD_CLK_BASE,
@@ -96,6 +97,7 @@ static const struct cpg_core_clk r9a09g047_core_clks[] __initconst = {
DEF_FIXED(".plldty_div16", CLK_PLLDTY_DIV16, CLK_PLLDTY, 1, 16),
DEF_DDIV(".pllvdo_cru0", CLK_PLLVDO_CRU0, CLK_PLLVDO, CDDIV3_DIVCTL3, dtable_2_4),
+ DEF_DDIV(".pllvdo_gpu", CLK_PLLVDO_GPU, CLK_PLLVDO, CDDIV3_DIVCTL1, dtable_2_64),
/* Core Clocks */
DEF_FIXED("sys_0_pclk", R9A09G047_SYS_0_PCLK, CLK_QEXTAL, 1, 1),
@@ -185,6 +187,12 @@ static const struct rzv2h_mod_clk r9a09g047_mod_clks[] __initconst = {
BUS_MSTOP(9, BIT(4))),
DEF_MOD("tsu_1_pclk", CLK_QEXTAL, 16, 10, 8, 10,
BUS_MSTOP(2, BIT(15))),
+ DEF_MOD("ge3d_clk", CLK_PLLVDO_GPU, 15, 0, 7, 16,
+ BUS_MSTOP(3, BIT(4))),
+ DEF_MOD("ge3d_axi_clk", CLK_PLLDTY_ACPU_DIV2, 15, 1, 7, 17,
+ BUS_MSTOP(3, BIT(4))),
+ DEF_MOD("ge3d_ace_clk", CLK_PLLDTY_ACPU_DIV2, 15, 2, 7, 18,
+ BUS_MSTOP(3, BIT(4))),
};
static const struct rzv2h_reset r9a09g047_resets[] __initconst = {
@@ -214,6 +222,9 @@ static const struct rzv2h_reset r9a09g047_resets[] __initconst = {
DEF_RST(12, 6, 5, 23), /* CRU_0_ARESETN */
DEF_RST(12, 7, 5, 24), /* CRU_0_S_RESETN */
DEF_RST(15, 8, 7, 9), /* TSU_1_PRESETN */
+ DEF_RST(13, 13, 6, 14), /* GE3D_0_RESETN */
+ DEF_RST(13, 14, 6, 15), /* GE3D_0_AXI_RESETN */
+ DEF_RST(13, 15, 6, 16), /* GE3D_0_ACE_RESETN */
};
const struct rzv2h_cpg_info r9a09g047_cpg_info __initconst = {
--
2.43.0
Hi Tommaso, On Wed, 2 Apr 2025 at 15:12, Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> wrote: > Add CLK_PLLVDO_GPU along with the necessary clock and reset entries for > GE3D. > > Signed-off-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Thanks for your patch! > --- a/drivers/clk/renesas/r9a09g047-cpg.c > +++ b/drivers/clk/renesas/r9a09g047-cpg.c > @@ -185,6 +187,12 @@ static const struct rzv2h_mod_clk r9a09g047_mod_clks[] __initconst = { > BUS_MSTOP(9, BIT(4))), > DEF_MOD("tsu_1_pclk", CLK_QEXTAL, 16, 10, 8, 10, > BUS_MSTOP(2, BIT(15))), > + DEF_MOD("ge3d_clk", CLK_PLLVDO_GPU, 15, 0, 7, 16, > + BUS_MSTOP(3, BIT(4))), > + DEF_MOD("ge3d_axi_clk", CLK_PLLDTY_ACPU_DIV2, 15, 1, 7, 17, > + BUS_MSTOP(3, BIT(4))), > + DEF_MOD("ge3d_ace_clk", CLK_PLLDTY_ACPU_DIV2, 15, 2, 7, 18, > + BUS_MSTOP(3, BIT(4))), Moving up to preserve sort order (by CPG_CLKON module number). > }; > > static const struct rzv2h_reset r9a09g047_resets[] __initconst = { > @@ -214,6 +222,9 @@ static const struct rzv2h_reset r9a09g047_resets[] __initconst = { > DEF_RST(12, 6, 5, 23), /* CRU_0_ARESETN */ > DEF_RST(12, 7, 5, 24), /* CRU_0_S_RESETN */ > DEF_RST(15, 8, 7, 9), /* TSU_1_PRESETN */ > + DEF_RST(13, 13, 6, 14), /* GE3D_0_RESETN */ > + DEF_RST(13, 14, 6, 15), /* GE3D_0_AXI_RESETN */ > + DEF_RST(13, 15, 6, 16), /* GE3D_0_ACE_RESETN */ Moving up to preserve sort order (by CPF_RST module number). The documentation does not have the "_0" part in the reset names, so I will drop these while applying, too. > }; > > const struct rzv2h_cpg_info r9a09g047_cpg_info __initconst = { Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> i.e. will queue in renesas-clk for v6.16 with the above fixed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
© 2016 - 2025 Red Hat, Inc.