Messages in this thread | | | From | Geert Uytterhoeven <> | Date | Wed, 9 Jun 2021 09:27:05 +0200 | Subject | Re: [PATCH 2/3] soc: renesas: Add support to read LSI DEVID register of RZ/G2{L,LC} SoC's |
| |
Hi Prabhakar,
On Fri, Jun 4, 2021 at 8:09 PM Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> wrote: > Add support for reading the LSI DEVID register which is present in > SYSC block of RZ/G2{L,LC} SoC's. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Thanks for your patch!
> --- a/drivers/soc/renesas/renesas-soc.c > +++ b/drivers/soc/renesas/renesas-soc.c > @@ -56,6 +56,11 @@ static const struct renesas_family fam_rzg2 __initconst __maybe_unused = { > .reg = 0xfff00044, /* PRR (Product Register) */ > }; > > +static const struct renesas_family fam_rzg2l __initconst __maybe_unused = { > + .name = "RZ/G2L", > + .reg = 0x11020a04,
Please don't add hardcoded register addresses for new SoCs (i.e. drop ".reg"). The "renesas,r9a07g044-sysc" is always present. And if it were missing, the hardcoded fallback would lead into the classic CCCR/PRR scheme, which is not correct for RZ/G2L...
> @@ -348,6 +361,25 @@ static int __init renesas_soc_init(void) > goto done; > } > > + np = of_find_compatible_node(NULL, NULL, "renesas,r9a07g044-sysc"); > + if (np) { > + of_node_put(np); > + chipid = ioremap(family->reg, 4);
Just use of_iomap(np, 0)...
> + > + if (chipid) { > + product = readl(chipid);
... and add the DEVID offset within the SYSC block here.
> + iounmap(chipid); > + > + if (soc->id && (product & 0xfffffff) != soc->id) { > + pr_warn("SoC mismatch (product = 0x%x)\n", > + product); > + return -ENODEV; > + } > + } > + > + goto done; > + } > + > /* Try PRR first, then hardcoded fallback */ > np = of_find_compatible_node(NULL, NULL, "renesas,prr"); > if (np) {
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
| |