linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] soc: renesas: Identify R-Car X5H
@ 2025-07-14  0:06 Kuninori Morimoto
  2025-07-31 10:13 ` Geert Uytterhoeven
  0 siblings, 1 reply; 3+ messages in thread
From: Kuninori Morimoto @ 2025-07-14  0:06 UTC (permalink / raw)
  To: Geert Uytterhoeven, linux-renesas-soc; +Cc: Duy Nguyen, Huy Bui

From: Duy Nguyen <duy.nguyen.rh@renesas.com>

Add support for identifying the R-Car X5H SoC.

[Kuninori: tidyup for upstreaming]

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Huy Bui <huy.bui.wm@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
v1 -> v2

	- Based on latest linux-next/master

 drivers/soc/renesas/Kconfig       | 11 +++++++++++
 drivers/soc/renesas/renesas-soc.c | 13 +++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig
index 719b7f4f376f..96d1d342f0b0 100644
--- a/drivers/soc/renesas/Kconfig
+++ b/drivers/soc/renesas/Kconfig
@@ -39,6 +39,10 @@ config ARCH_RCAR_GEN4
 	bool
 	select ARCH_RCAR_GEN3
 
+config ARCH_RCAR_GEN5
+	bool
+	select ARCH_RCAR_GEN4
+
 config ARCH_RMOBILE
 	bool
 	select PM
@@ -348,6 +352,13 @@ config ARCH_R8A779H0
 	help
 	  This enables support for the Renesas R-Car V4M SoC.
 
+config ARCH_R8A78000
+	bool "ARM64 Platform support for R8A78000 (R-Car X5H)"
+	default ARCH_RENESAS
+	select ARCH_RCAR_GEN5
+	help
+	  This enables support for the Renesas R-Car X5H SoC.
+
 config ARCH_R9A07G043
 	bool "ARM64 Platform support for R9A07G043U (RZ/G2UL)"
 	default y if ARCH_RENESAS
diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c
index df2b38417b80..5b78388bafcf 100644
--- a/drivers/soc/renesas/renesas-soc.c
+++ b/drivers/soc/renesas/renesas-soc.c
@@ -36,6 +36,11 @@ static const struct renesas_family fam_rcar_gen4 __initconst __maybe_unused = {
 	.name	= "R-Car Gen4",
 };
 
+static const struct renesas_family fam_rcar_gen5 __initconst __maybe_unused = {
+	.name   = "R-Car Gen5",
+	.reg    = 0xfff00044,		/* PRR (Product Register) */
+};
+
 static const struct renesas_family fam_rmobile __initconst __maybe_unused = {
 	.name	= "R-Mobile",
 	.reg	= 0xe600101c,		/* CCCR (Common Chip Code Register) */
@@ -266,6 +271,11 @@ static const struct renesas_soc soc_rcar_v4m __initconst __maybe_unused = {
 	.id     = 0x5d,
 };
 
+static const struct renesas_soc soc_rcar_x5h __initconst __maybe_unused = {
+	.family = &fam_rcar_gen5,
+	.id     = 0x60,
+};
+
 static const struct renesas_soc soc_shmobile_ag5 __initconst __maybe_unused = {
 	.family	= &fam_shmobile,
 	.id	= 0x37,
@@ -378,6 +388,9 @@ static const struct of_device_id renesas_socs[] __initconst __maybe_unused = {
 #ifdef CONFIG_ARCH_R8A779H0
 	{ .compatible = "renesas,r8a779h0",	.data = &soc_rcar_v4m },
 #endif
+#ifdef CONFIG_ARCH_R8A78000
+	{ .compatible = "renesas,r8a78000",	.data = &soc_rcar_x5h },
+#endif
 #ifdef CONFIG_ARCH_R9A07G043
 #ifdef CONFIG_RISCV
 	{ .compatible = "renesas,r9a07g043",	.data = &soc_rz_five },
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] soc: renesas: Identify R-Car X5H
  2025-07-14  0:06 [PATCH v2] soc: renesas: Identify R-Car X5H Kuninori Morimoto
@ 2025-07-31 10:13 ` Geert Uytterhoeven
  2025-07-31 21:28   ` Kuninori Morimoto
  0 siblings, 1 reply; 3+ messages in thread
From: Geert Uytterhoeven @ 2025-07-31 10:13 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: linux-renesas-soc, Duy Nguyen, Huy Bui

Hi Morimoto-san,

On Mon, 14 Jul 2025 at 02:06, Kuninori Morimoto
<kuninori.morimoto.gx@renesas.com> wrote:
> From: Duy Nguyen <duy.nguyen.rh@renesas.com>
>
> Add support for identifying the R-Car X5H SoC.
>
> [Kuninori: tidyup for upstreaming]
>
> Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
> Signed-off-by: Huy Bui <huy.bui.wm@renesas.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

Thanks for your patch!

> --- a/drivers/soc/renesas/Kconfig
> +++ b/drivers/soc/renesas/Kconfig
> @@ -39,6 +39,10 @@ config ARCH_RCAR_GEN4
>         bool
>         select ARCH_RCAR_GEN3
>
> +config ARCH_RCAR_GEN5
> +       bool
> +       select ARCH_RCAR_GEN4

Note that this transitively enables four drivers:

        select RENESAS_IRQC
        select RST_RCAR
        select SYS_SUPPORTS_SH_CMT
        select SYS_SUPPORTS_SH_TMU

R-Car X5H does have INTC-EX, CMT, and TMU, so enabling their drivers
is fine.
The registers to read the mode pins (the main functionality of the
RST_RCAR driver) have been moved to a separate block (Operating Mode
(OpeMode)) on R-Car X5H, so my first thought was to drop the RST_RCAR
select.  Fortunately OpeMode shares register space with the Reset
Controller (RTSC) block, so we can keep that select.

> +
>  config ARCH_RMOBILE
>         bool
>         select PM

> --- a/drivers/soc/renesas/renesas-soc.c
> +++ b/drivers/soc/renesas/renesas-soc.c
> @@ -36,6 +36,11 @@ static const struct renesas_family fam_rcar_gen4 __initconst __maybe_unused = {
>         .name   = "R-Car Gen4",
>  };
>
> +static const struct renesas_family fam_rcar_gen5 __initconst __maybe_unused = {
> +       .name   = "R-Car Gen5",
> +       .reg    = 0xfff00044,           /* PRR (Product Register) */

Please no hardcoded register addresses for new (DT-only) platforms
(especially if they don't seem to be correct?).
I can drop this line while applying.

> +};
> +
>  static const struct renesas_family fam_rmobile __initconst __maybe_unused = {
>         .name   = "R-Mobile",
>         .reg    = 0xe600101c,           /* CCCR (Common Chip Code Register) */

> @@ -378,6 +388,9 @@ static const struct of_device_id renesas_socs[] __initconst __maybe_unused = {
>  #ifdef CONFIG_ARCH_R8A779H0
>         { .compatible = "renesas,r8a779h0",     .data = &soc_rcar_v4m },
>  #endif
> +#ifdef CONFIG_ARCH_R8A78000
> +       { .compatible = "renesas,r8a78000",     .data = &soc_rcar_x5h },

scripts/checkpatch.pl:

WARNING: DT compatible string "renesas,r8a78000" appears un-documented
-- check ./Documentation/devicetree/bindings/

> +#endif
>  #ifdef CONFIG_ARCH_R9A07G043
>  #ifdef CONFIG_RISCV
>         { .compatible = "renesas,r9a07g043",    .data = &soc_rz_five },

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v6.18, pending acceptance of the
DT bindings.

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] soc: renesas: Identify R-Car X5H
  2025-07-31 10:13 ` Geert Uytterhoeven
@ 2025-07-31 21:28   ` Kuninori Morimoto
  0 siblings, 0 replies; 3+ messages in thread
From: Kuninori Morimoto @ 2025-07-31 21:28 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: linux-renesas-soc, Duy Nguyen, Huy Bui


Hi Geert

> > +static const struct renesas_family fam_rcar_gen5 __initconst __maybe_unused = {
> > +       .name   = "R-Car Gen5",
> > +       .reg    = 0xfff00044,           /* PRR (Product Register) */
> 
> Please no hardcoded register addresses for new (DT-only) platforms
> (especially if they don't seem to be correct?).
> I can drop this line while applying.

OK, thanks.
Will adjust on DT side.

> > @@ -378,6 +388,9 @@ static const struct of_device_id renesas_socs[] __initconst __maybe_unused = {
> >  #ifdef CONFIG_ARCH_R8A779H0
> >         { .compatible = "renesas,r8a779h0",     .data = &soc_rcar_v4m },
> >  #endif
> > +#ifdef CONFIG_ARCH_R8A78000
> > +       { .compatible = "renesas,r8a78000",     .data = &soc_rcar_x5h },
> 
> scripts/checkpatch.pl:
> 
> WARNING: DT compatible string "renesas,r8a78000" appears un-documented
> -- check ./Documentation/devicetree/bindings/

Sorry I didn't explain about it. Yes.
My plan is update SoC and board DT DoC in the same time, so it will be
included in next patch-set (= DoC support + X5H support + Ironhide suppor)

Thank you for your help !!

Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-07-31 21:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-14  0:06 [PATCH v2] soc: renesas: Identify R-Car X5H Kuninori Morimoto
2025-07-31 10:13 ` Geert Uytterhoeven
2025-07-31 21:28   ` Kuninori Morimoto

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).