drivers/clk/renesas/r9a09g057-cpg.c | 16 ++++++++++++++++ drivers/clk/renesas/rzv2h-cpg.h | 5 +++++ 2 files changed, 21 insertions(+)
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Add CA55 core clocks which are derived from PLLCA55.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/clk/renesas/r9a09g057-cpg.c | 16 ++++++++++++++++
drivers/clk/renesas/rzv2h-cpg.h | 5 +++++
2 files changed, 21 insertions(+)
diff --git a/drivers/clk/renesas/r9a09g057-cpg.c b/drivers/clk/renesas/r9a09g057-cpg.c
index 3ee32db5c0af..d7e88550c1db 100644
--- a/drivers/clk/renesas/r9a09g057-cpg.c
+++ b/drivers/clk/renesas/r9a09g057-cpg.c
@@ -41,6 +41,14 @@ enum clk_ids {
MOD_CLK_BASE,
};
+static const struct clk_div_table dtable_1_8[] = {
+ {0, 1},
+ {1, 2},
+ {2, 4},
+ {3, 8},
+ {0, 0},
+};
+
static const struct clk_div_table dtable_2_64[] = {
{0, 2},
{1, 4},
@@ -74,6 +82,14 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = {
/* Core Clocks */
DEF_FIXED("sys_0_pclk", R9A09G057_SYS_0_PCLK, CLK_QEXTAL, 1, 1),
+ DEF_DDIV(".ca55_0_coreclk0", R9A09G057_CA55_0_CORE_CLK0,
+ CLK_PLLCA55, CDDIV1_DIVCTL0, dtable_1_8),
+ DEF_DDIV(".ca55_0_coreclk1", R9A09G057_CA55_0_CORE_CLK1,
+ CLK_PLLCA55, CDDIV1_DIVCTL1, dtable_1_8),
+ DEF_DDIV(".ca55_0_coreclk2", R9A09G057_CA55_0_CORE_CLK2,
+ CLK_PLLCA55, CDDIV1_DIVCTL2, dtable_1_8),
+ DEF_DDIV(".ca55_0_coreclk3", R9A09G057_CA55_0_CORE_CLK3,
+ CLK_PLLCA55, CDDIV1_DIVCTL3, dtable_1_8),
DEF_FIXED("iotop_0_shclk", R9A09G057_IOTOP_0_SHCLK, CLK_PLLCM33_DIV16, 1, 1),
};
diff --git a/drivers/clk/renesas/rzv2h-cpg.h b/drivers/clk/renesas/rzv2h-cpg.h
index 1bd406c69015..819029c81904 100644
--- a/drivers/clk/renesas/rzv2h-cpg.h
+++ b/drivers/clk/renesas/rzv2h-cpg.h
@@ -32,8 +32,13 @@ struct ddiv {
})
#define CPG_CDDIV0 (0x400)
+#define CPG_CDDIV1 (0x404)
#define CDDIV0_DIVCTL2 DDIV_PACK(CPG_CDDIV0, 8, 3, 2)
+#define CDDIV1_DIVCTL0 DDIV_PACK(CPG_CDDIV1, 0, 2, 4)
+#define CDDIV1_DIVCTL1 DDIV_PACK(CPG_CDDIV1, 4, 2, 5)
+#define CDDIV1_DIVCTL2 DDIV_PACK(CPG_CDDIV1, 8, 2, 6)
+#define CDDIV1_DIVCTL3 DDIV_PACK(CPG_CDDIV1, 12, 2, 7)
/**
* Definitions of CPG Core Clocks
--
2.34.1
Hi Prabhakar, On Wed, Sep 18, 2024 at 4:02 PM Prabhakar <prabhakar.csengg@gmail.com> wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Add CA55 core clocks which are derived from PLLCA55. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Thanks for your patch! Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> i.e. will queue in renesas-clk for v6.13. > --- a/drivers/clk/renesas/r9a09g057-cpg.c > +++ b/drivers/clk/renesas/r9a09g057-cpg.c > @@ -74,6 +82,14 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = { > > /* Core Clocks */ > DEF_FIXED("sys_0_pclk", R9A09G057_SYS_0_PCLK, CLK_QEXTAL, 1, 1), > + DEF_DDIV(".ca55_0_coreclk0", R9A09G057_CA55_0_CORE_CLK0, > + CLK_PLLCA55, CDDIV1_DIVCTL0, dtable_1_8), > + DEF_DDIV(".ca55_0_coreclk1", R9A09G057_CA55_0_CORE_CLK1, > + CLK_PLLCA55, CDDIV1_DIVCTL1, dtable_1_8), > + DEF_DDIV(".ca55_0_coreclk2", R9A09G057_CA55_0_CORE_CLK2, > + CLK_PLLCA55, CDDIV1_DIVCTL2, dtable_1_8), > + DEF_DDIV(".ca55_0_coreclk3", R9A09G057_CA55_0_CORE_CLK3, > + CLK_PLLCA55, CDDIV1_DIVCTL3, dtable_1_8), I will drop the leading dots from the clocks' names while applying, as these are not internal clocks. > DEF_FIXED("iotop_0_shclk", R9A09G057_IOTOP_0_SHCLK, CLK_PLLCM33_DIV16, 1, 1), > }; 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
Hi Geert, Thank you for the review. On Fri, Oct 4, 2024 at 10:22 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Prabhakar, > > On Wed, Sep 18, 2024 at 4:02 PM Prabhakar <prabhakar.csengg@gmail.com> wrote: > > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > > > Add CA55 core clocks which are derived from PLLCA55. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Thanks for your patch! > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > i.e. will queue in renesas-clk for v6.13. > > > --- a/drivers/clk/renesas/r9a09g057-cpg.c > > +++ b/drivers/clk/renesas/r9a09g057-cpg.c > > @@ -74,6 +82,14 @@ static const struct cpg_core_clk r9a09g057_core_clks[] __initconst = { > > > > /* Core Clocks */ > > DEF_FIXED("sys_0_pclk", R9A09G057_SYS_0_PCLK, CLK_QEXTAL, 1, 1), > > + DEF_DDIV(".ca55_0_coreclk0", R9A09G057_CA55_0_CORE_CLK0, > > + CLK_PLLCA55, CDDIV1_DIVCTL0, dtable_1_8), > > + DEF_DDIV(".ca55_0_coreclk1", R9A09G057_CA55_0_CORE_CLK1, > > + CLK_PLLCA55, CDDIV1_DIVCTL1, dtable_1_8), > > + DEF_DDIV(".ca55_0_coreclk2", R9A09G057_CA55_0_CORE_CLK2, > > + CLK_PLLCA55, CDDIV1_DIVCTL2, dtable_1_8), > > + DEF_DDIV(".ca55_0_coreclk3", R9A09G057_CA55_0_CORE_CLK3, > > + CLK_PLLCA55, CDDIV1_DIVCTL3, dtable_1_8), > > I will drop the leading dots from the clocks' names while applying, > as these are not internal clocks. > Agreed, thanks for taking care of this. Cheers, Prabhakar > > DEF_FIXED("iotop_0_shclk", R9A09G057_IOTOP_0_SHCLK, CLK_PLLCM33_DIV16, 1, 1), > > }; > > 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 - 2024 Red Hat, Inc.