Message ID | 20220721221212.18491-3-prabhakar.mahadev-lad.rj@bp.renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | Add support to identify RZ/Five SoC | expand |
Hi Prabhakar, On Fri, Jul 22, 2022 at 12:12 AM Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> wrote: > Add support for identifying the (R9A07G043) RZ/Five SoC. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Thanks for your patch! > --- a/drivers/soc/renesas/Kconfig > +++ b/drivers/soc/renesas/Kconfig > @@ -333,6 +333,16 @@ config ARCH_R9A09G011 > > endif # ARM64 > > +if RISCV > + > +config ARCH_R9A07G043 > + bool "RISCV Platform support for RZ/Five" RISC-V > + select ARCH_RZG2L > + help > + This enables support for the Renesas RZ/Five SoC. > + > +endif # RISCV > + > config RST_RCAR > bool "Reset Controller support for R-Car" if COMPILE_TEST > > @@ -102,6 +106,11 @@ static const struct renesas_soc soc_rmobile_a1 __initconst __maybe_unused = { > .id = 0x40, > }; > > +static const struct renesas_soc soc_rz_five __initconst __maybe_unused = { > + .family = &fam_rzfive, > + .id = 0x847c447, The Hardware User's Manual Rev.1.00 says H’x841_C447? > @@ -398,6 +411,7 @@ static const struct renesas_id id_prr __initconst = { > > static const struct of_device_id renesas_ids[] __initconst = { > { .compatible = "renesas,bsid", .data = &id_bsid }, > + { .compatible = "renesas,r9a07g043-rzfive-sysc", .data = &id_rzg2l }, > { .compatible = "renesas,r9a07g043-sysc", .data = &id_rzg2l }, > { .compatible = "renesas,r9a07g044-sysc", .data = &id_rzg2l }, > { .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l }, This change might not be needed (cfr. my comments on patch 1/2). The rest LGTM. 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, Jul 22, 2022 at 10:37 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > > Hi Prabhakar, > > On Fri, Jul 22, 2022 at 12:12 AM Lad Prabhakar > <prabhakar.mahadev-lad.rj@bp.renesas.com> wrote: > > Add support for identifying the (R9A07G043) RZ/Five SoC. > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > > Thanks for your patch! > > > --- a/drivers/soc/renesas/Kconfig > > +++ b/drivers/soc/renesas/Kconfig > > @@ -333,6 +333,16 @@ config ARCH_R9A09G011 > > > > endif # ARM64 > > > > +if RISCV > > + > > +config ARCH_R9A07G043 > > + bool "RISCV Platform support for RZ/Five" > > RISC-V > Agreed. > > + select ARCH_RZG2L > > + help > > + This enables support for the Renesas RZ/Five SoC. > > + > > +endif # RISCV > > + > > config RST_RCAR > > bool "Reset Controller support for R-Car" if COMPILE_TEST > > > > > @@ -102,6 +106,11 @@ static const struct renesas_soc soc_rmobile_a1 __initconst __maybe_unused = { > > .id = 0x40, > > }; > > > > +static const struct renesas_soc soc_rz_five __initconst __maybe_unused = { > > + .family = &fam_rzfive, > > + .id = 0x847c447, > > The Hardware User's Manual Rev.1.00 says H’x841_C447? > You caught a typo in theHW manual, H’x841_C447 is the value for RZ/G2L, for RZ/Five the value is H’x847_C447 (and can be verified on page 146 SYS_DEVID register). Below is the log from RZ/Five SMARC EVK: U-Boot SPL 2020.10-ge84e786a34-dirty (Feb 25 2022 - 17:10:04 +0000) Trying to boot from NOR U-Boot 2020.10-ge84e786a34-dirty (Feb 25 2022 - 17:10:04 +0000) CPU: rv64imafdc Model: smarc-rzf DRAM: 896 MiB MMC: sh-sdhi: 0, sh-sdhi: 1 Loading Environment from MMC... OK In: serial@1004b800 Out: serial@1004b800 Err: serial@1004b800 Net: eth0: ethernet@11c30000 Hit any key to stop autoboot: 0 => md 0x11020a04 1 11020a04: 0847c447 G.G. => > > @@ -398,6 +411,7 @@ static const struct renesas_id id_prr __initconst = { > > > > static const struct of_device_id renesas_ids[] __initconst = { > > { .compatible = "renesas,bsid", .data = &id_bsid }, > > + { .compatible = "renesas,r9a07g043-rzfive-sysc", .data = &id_rzg2l }, > > { .compatible = "renesas,r9a07g043-sysc", .data = &id_rzg2l }, > > { .compatible = "renesas,r9a07g044-sysc", .data = &id_rzg2l }, > > { .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l }, > > This change might not be needed (cfr. my comments on patch 1/2). > Ok. Cheers, Prabhakar
diff --git a/drivers/soc/renesas/Kconfig b/drivers/soc/renesas/Kconfig index 390f52109cb7..2e3508fbae53 100644 --- a/drivers/soc/renesas/Kconfig +++ b/drivers/soc/renesas/Kconfig @@ -333,6 +333,16 @@ config ARCH_R9A09G011 endif # ARM64 +if RISCV + +config ARCH_R9A07G043 + bool "RISCV Platform support for RZ/Five" + select ARCH_RZG2L + help + This enables support for the Renesas RZ/Five SoC. + +endif # RISCV + config RST_RCAR bool "Reset Controller support for R-Car" if COMPILE_TEST diff --git a/drivers/soc/renesas/renesas-soc.c b/drivers/soc/renesas/renesas-soc.c index d171f1b635c7..1a31692fc884 100644 --- a/drivers/soc/renesas/renesas-soc.c +++ b/drivers/soc/renesas/renesas-soc.c @@ -50,6 +50,10 @@ static const struct renesas_family fam_rza2 __initconst __maybe_unused = { .name = "RZ/A2", }; +static const struct renesas_family fam_rzfive __initconst __maybe_unused = { + .name = "RZ/Five", +}; + static const struct renesas_family fam_rzg1 __initconst __maybe_unused = { .name = "RZ/G1", .reg = 0xff000044, /* PRR (Product Register) */ @@ -102,6 +106,11 @@ static const struct renesas_soc soc_rmobile_a1 __initconst __maybe_unused = { .id = 0x40, }; +static const struct renesas_soc soc_rz_five __initconst __maybe_unused = { + .family = &fam_rzfive, + .id = 0x847c447, +}; + static const struct renesas_soc soc_rz_g1h __initconst __maybe_unused = { .family = &fam_rzg1, .id = 0x45, @@ -358,8 +367,12 @@ static const struct of_device_id renesas_socs[] __initconst = { { .compatible = "renesas,r8a779g0", .data = &soc_rcar_v4h }, #endif #if defined(CONFIG_ARCH_R9A07G043) +#ifdef CONFIG_RISCV + { .compatible = "renesas,r9a07g043", .data = &soc_rz_five }, +#else { .compatible = "renesas,r9a07g043", .data = &soc_rz_g2ul }, #endif +#endif #if defined(CONFIG_ARCH_R9A07G044) { .compatible = "renesas,r9a07g044", .data = &soc_rz_g2l }, #endif @@ -398,6 +411,7 @@ static const struct renesas_id id_prr __initconst = { static const struct of_device_id renesas_ids[] __initconst = { { .compatible = "renesas,bsid", .data = &id_bsid }, + { .compatible = "renesas,r9a07g043-rzfive-sysc", .data = &id_rzg2l }, { .compatible = "renesas,r9a07g043-sysc", .data = &id_rzg2l }, { .compatible = "renesas,r9a07g044-sysc", .data = &id_rzg2l }, { .compatible = "renesas,r9a07g054-sysc", .data = &id_rzg2l },
Add support for identifying the (R9A07G043) RZ/Five SoC. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> --- drivers/soc/renesas/Kconfig | 10 ++++++++++ drivers/soc/renesas/renesas-soc.c | 14 ++++++++++++++ 2 files changed, 24 insertions(+)