* [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).