Message ID | 8e5f14d720f6462fbbcd2caed26c57f1d81166bb.1623315732.git.geert+renesas@glider.be |
---|---|
State | New |
Headers | show |
Series | arm64: renesas: Add support for R Car H3e 2G-and M3e-2G | expand |
Hi Geert, Thank you for the patch. On Thu, Jun 10, 2021 at 11:37:15AM +0200, Geert Uytterhoeven wrote: > Add support for identifying the R-Car H3e-2G (R8A779M1) and R-Car M3e-2G > (R8A779M3) SoCs. > > As these are different gradings of the already supported R-Car H3 ES3.0 > (R8A77951) and M3-W+ (R8A77961) SoCs, support for them is enabled > through the existing ARCH_R8A77951 and ARCH_R8A77961 configuration > symbols. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > --- > Question: Should we drop fam_rcar_gen3e and soc_rcar_[hm]3e, and just > use the existing soc_rcar_h3 and soc_rcar_m3_w? I'd vote for that, as there's no functional difference in the code below between fam_rcar_gen3e and fam_rcar_gen3. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/soc/renesas/Kconfig | 2 ++ > drivers/soc/renesas/renesas-soc.c | 19 +++++++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig > index 4fe0247189a615b0..089c7c50e3ca4c3b 100644 > --- a/drivers/soc/renesas/Kconfig > +++ b/drivers/soc/renesas/Kconfig > @@ -213,6 +213,7 @@ config ARCH_R8A77951 > help > This enables support for the Renesas R-Car H3 SoC (revisions 2.0 and > later). > + This includes different gradings like R-Car H3e-2G. > > config ARCH_R8A77965 > bool "ARM64 Platform support for R-Car M3-N" > @@ -234,6 +235,7 @@ config ARCH_R8A77961 > select SYSC_R8A77961 > help > This enables support for the Renesas R-Car M3-W+ SoC. > + This includes different gradings like R-Car M3e-2G. > > config ARCH_R8A77980 > bool "ARM64 Platform support for R-Car V3H" > diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c > index 0f8eff4a641a21b7..2851fd9c44ce8e3f 100644 > --- a/drivers/soc/renesas/renesas-soc.c > +++ b/drivers/soc/renesas/renesas-soc.c > @@ -33,6 +33,11 @@ static const struct renesas_family fam_rcar_gen3 __initconst __maybe_unused = { > .reg = 0xfff00044, /* PRR (Product Register) */ > }; > > +static const struct renesas_family fam_rcar_gen3e __initconst __maybe_unused = { > + .name = "R-Car Gen3e", > + .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) */ > @@ -205,6 +210,16 @@ static const struct renesas_soc soc_rcar_v3u __initconst __maybe_unused = { > .id = 0x59, > }; > > +static const struct renesas_soc soc_rcar_h3e __initconst __maybe_unused = { > + .family = &fam_rcar_gen3e, > + .id = 0x4f, > +}; > + > +static const struct renesas_soc soc_rcar_m3e __initconst __maybe_unused = { > + .family = &fam_rcar_gen3e, > + .id = 0x52, > +}; > + > static const struct renesas_soc soc_shmobile_ag5 __initconst __maybe_unused = { > .family = &fam_shmobile, > .id = 0x37, > @@ -275,11 +290,15 @@ static const struct of_device_id renesas_socs[] __initconst = { > #if defined(CONFIG_ARCH_R8A77950) || defined(CONFIG_ARCH_R8A77951) > { .compatible = "renesas,r8a7795", .data = &soc_rcar_h3 }, > #endif > +#ifdef CONFIG_ARCH_R8A77951 > + { .compatible = "renesas,r8a779m1", .data = &soc_rcar_h3e }, > +#endif > #ifdef CONFIG_ARCH_R8A77960 > { .compatible = "renesas,r8a7796", .data = &soc_rcar_m3_w }, > #endif > #ifdef CONFIG_ARCH_R8A77961 > { .compatible = "renesas,r8a77961", .data = &soc_rcar_m3_w }, > + { .compatible = "renesas,r8a779m3", .data = &soc_rcar_m3e }, > #endif > #ifdef CONFIG_ARCH_R8A77965 > { .compatible = "renesas,r8a77965", .data = &soc_rcar_m3_n }, -- Regards, Laurent Pinchart
Hi Geert-san, Thank you for the patch! > From: Laurent Pinchart, Sent: Tuesday, June 15, 2021 3:31 AM > > Hi Geert, > > Thank you for the patch. > > On Thu, Jun 10, 2021 at 11:37:15AM +0200, Geert Uytterhoeven wrote: > > Add support for identifying the R-Car H3e-2G (R8A779M1) and R-Car M3e-2G > > (R8A779M3) SoCs. > > > > As these are different gradings of the already supported R-Car H3 ES3.0 > > (R8A77951) and M3-W+ (R8A77961) SoCs, support for them is enabled > > through the existing ARCH_R8A77951 and ARCH_R8A77961 configuration > > symbols. > > > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > > --- > > Question: Should we drop fam_rcar_gen3e and soc_rcar_[hm]3e, and just > > use the existing soc_rcar_h3 and soc_rcar_m3_w? > > I'd vote for that, as there's no functional difference in the code below > between fam_rcar_gen3e and fam_rcar_gen3. +1 If we add fam_rcar_gen3e, we need update some drivers [1] which are using .family. [1] drivers/iommu/ipmmu-vmsa.c and drivers/usb/host/ehci-platform.c. Best regards, Yoshihiro Shimoda
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index 4fe0247189a615b0..089c7c50e3ca4c3b 100644 --- a/drivers/soc/renesas/Kconfig +++ b/drivers/soc/renesas/Kconfig @@ -213,6 +213,7 @@ config ARCH_R8A77951 help This enables support for the Renesas R-Car H3 SoC (revisions 2.0 and later). + This includes different gradings like R-Car H3e-2G. config ARCH_R8A77965 bool "ARM64 Platform support for R-Car M3-N" @@ -234,6 +235,7 @@ config ARCH_R8A77961 select SYSC_R8A77961 help This enables support for the Renesas R-Car M3-W+ SoC. + This includes different gradings like R-Car M3e-2G. config ARCH_R8A77980 bool "ARM64 Platform support for R-Car V3H" diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c index 0f8eff4a641a21b7..2851fd9c44ce8e3f 100644 --- a/drivers/soc/renesas/renesas-soc.c +++ b/drivers/soc/renesas/renesas-soc.c @@ -33,6 +33,11 @@ static const struct renesas_family fam_rcar_gen3 __initconst __maybe_unused = { .reg = 0xfff00044, /* PRR (Product Register) */ }; +static const struct renesas_family fam_rcar_gen3e __initconst __maybe_unused = { + .name = "R-Car Gen3e", + .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) */ @@ -205,6 +210,16 @@ static const struct renesas_soc soc_rcar_v3u __initconst __maybe_unused = { .id = 0x59, }; +static const struct renesas_soc soc_rcar_h3e __initconst __maybe_unused = { + .family = &fam_rcar_gen3e, + .id = 0x4f, +}; + +static const struct renesas_soc soc_rcar_m3e __initconst __maybe_unused = { + .family = &fam_rcar_gen3e, + .id = 0x52, +}; + static const struct renesas_soc soc_shmobile_ag5 __initconst __maybe_unused = { .family = &fam_shmobile, .id = 0x37, @@ -275,11 +290,15 @@ static const struct of_device_id renesas_socs[] __initconst = { #if defined(CONFIG_ARCH_R8A77950) || defined(CONFIG_ARCH_R8A77951) { .compatible = "renesas,r8a7795", .data = &soc_rcar_h3 }, #endif +#ifdef CONFIG_ARCH_R8A77951 + { .compatible = "renesas,r8a779m1", .data = &soc_rcar_h3e }, +#endif #ifdef CONFIG_ARCH_R8A77960 { .compatible = "renesas,r8a7796", .data = &soc_rcar_m3_w }, #endif #ifdef CONFIG_ARCH_R8A77961 { .compatible = "renesas,r8a77961", .data = &soc_rcar_m3_w }, + { .compatible = "renesas,r8a779m3", .data = &soc_rcar_m3e }, #endif #ifdef CONFIG_ARCH_R8A77965 { .compatible = "renesas,r8a77965", .data = &soc_rcar_m3_n },
Add support for identifying the R-Car H3e-2G (R8A779M1) and R-Car M3e-2G (R8A779M3) SoCs. As these are different gradings of the already supported R-Car H3 ES3.0 (R8A77951) and M3-W+ (R8A77961) SoCs, support for them is enabled through the existing ARCH_R8A77951 and ARCH_R8A77961 configuration symbols. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- Question: Should we drop fam_rcar_gen3e and soc_rcar_[hm]3e, and just use the existing soc_rcar_h3 and soc_rcar_m3_w? --- drivers/soc/renesas/Kconfig | 2 ++ drivers/soc/renesas/renesas-soc.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+)