Message ID | 20171003073334.18917-3-chris.brandt@renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Hi Chris, On Tue, Oct 3, 2017 at 9:33 AM, Chris Brandt <chris.brandt@renesas.com> wrote: > Compatible "r7s72102-ports" was added for RZ/A1L devices > > Signed-off-by: Chris Brandt <chris.brandt@renesas.com> > --- > Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt > index 43e21474528a..2a3366cee848 100644 > --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt > +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt > @@ -13,7 +13,8 @@ Pin controller node > > Required properties: > - compatible > - this shall be "renesas,r7s72100-ports". > + this shall be "renesas,r7s72100-ports" for RZ/A1H and RZ/A1M or > + "renesas,r7s72102-ports" for RZ/A1L Shouldn't you also document "renesas,r7s72101-ports" for RZ/A1M? You could use "renesas,r7s72100-ports" as a fallback property for RZ/A1M, though. BTW, is there a way to distinguish the various RZ/A1 SoCs at runtime? 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, On Wednesday, October 04, 2017, Geert Uytterhoeven wrote: > > Required properties: > > - compatible > > - this shall be "renesas,r7s72100-ports". > > + this shall be "renesas,r7s72100-ports" for RZ/A1H and RZ/A1M or > > + "renesas,r7s72102-ports" for RZ/A1L > > Shouldn't you also document "renesas,r7s72101-ports" for RZ/A1M? I was wondering if you were going to ask for that. I put "for RZ/A1H and RZ/A1M" in the DT documentation, but if you prefer, I can also just add to pinctrl-rza1.c: static const struct of_device_id rza1_pinctrl_of_match[] = { { /* RZ/A1H */ .compatible = "renesas,r7s72100-ports", .data = &rza1h_pmx_conf, }, + { + /* RZ/A1M */ + .compatible = "renesas,r7s72101-ports", + .data = &rza1h_pmx_conf, + }, { /* RZ/A1L */ .compatible = "renesas,r7s72102-ports", .data = &rza1l_pmx_conf, }, { } }; > You could use "renesas,r7s72100-ports" as a fallback property for RZ/A1M, > though. Do you mean in the DT? Or in pinctrl-rza1.c? > BTW, is there a way to distinguish the various RZ/A1 SoCs at runtime? Sadly there is not. There is a unique ID number, but it is only accessible via JTAG externally. Internally, you would have to look for registers that don't exist (for the RZ/A1L). But for RZ/A1H vs RZ/A1M, the only actual difference is the amount of RAM, so you would have to do a set-and-test method on RAM. Chris
Hi Chris, On Wed, Oct 4, 2017 at 4:16 PM, Chris Brandt <Chris.Brandt@renesas.com> wrote: > On Wednesday, October 04, 2017, Geert Uytterhoeven wrote: >> > Required properties: >> > - compatible >> > - this shall be "renesas,r7s72100-ports". >> > + this shall be "renesas,r7s72100-ports" for RZ/A1H and RZ/A1M or >> > + "renesas,r7s72102-ports" for RZ/A1L >> >> Shouldn't you also document "renesas,r7s72101-ports" for RZ/A1M? > > I was wondering if you were going to ask for that. :-) > I put "for RZ/A1H and RZ/A1M" in the DT documentation, but if you > prefer, I can also just add to pinctrl-rza1.c: > > static const struct of_device_id rza1_pinctrl_of_match[] = { > { > /* RZ/A1H */ > .compatible = "renesas,r7s72100-ports", > .data = &rza1h_pmx_conf, > }, > + { > + /* RZ/A1M */ > + .compatible = "renesas,r7s72101-ports", > + .data = &rza1h_pmx_conf, > + }, { > /* RZ/A1L */ > .compatible = "renesas,r7s72102-ports", > .data = &rza1l_pmx_conf, > }, > { } > }; > > > >> You could use "renesas,r7s72100-ports" as a fallback property for RZ/A1M, >> though. > > Do you mean in the DT? Or in pinctrl-rza1.c? I mean in DT, i.e.: pinctrl: pin-controller@fcfe3000 { compatible = "renesas,r7s72101-ports", "renesas,r7s72100-ports"; ... That way you don't have to extend the pinctrl driver. >> BTW, is there a way to distinguish the various RZ/A1 SoCs at runtime? > > Sadly there is not. > > There is a unique ID number, but it is only accessible via JTAG > externally. > > Internally, you would have to look for registers that don't exist (for > the RZ/A1L). But for RZ/A1H vs RZ/A1M, the only actual difference is the > amount of RAM, so you would have to do a set-and-test method on RAM. If RZ/A1H and RZ/A1M differ in the amount of RAM only, I think you can just consider them the same, though, and use the same DTS (assumed the boot loader fills/corrects in the memory node). 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, To be clear: On Wednesday, October 04, 2017 1, Geert Uytterhoeven wrote: > >> You could use "renesas,r7s72100-ports" as a fallback property for > RZ/A1M, > >> though. > > > > Do you mean in the DT? Or in pinctrl-rza1.c? > > I mean in DT, i.e.: > > pinctrl: pin-controller@fcfe3000 { > compatible = "renesas,r7s72101-ports", "renesas,r7s72100- > ports"; > ... > > That way you don't have to extend the pinctrl driver. I will submit a v2 with: [ renesas,rza1-pinctrl.txt ] Required properties: - compatible this shall be "renesas,r7s72100-ports" for RZ/A1H, "renesas,r7s72101-ports" for RZ/M or "renesas,r7s72102-ports" for RZ/A1L [ r7s72100.dtsi ] pinctrl: pin-controller@fcfe3000 { compatible = "renesas,r7s72101-ports", "renesas,r7s72100-ports"; [ pinctrl-rza1.c ] No change from V1 Unless you say something different, I will submit a V2 in a little while. As always, thank you for your guidance! Chris
Hi Chris, On Wed, Oct 4, 2017 at 4:43 PM, Chris Brandt <Chris.Brandt@renesas.com> wrote: > To be clear: > > On Wednesday, October 04, 2017 1, Geert Uytterhoeven wrote: >> >> You could use "renesas,r7s72100-ports" as a fallback property for >> RZ/A1M, >> >> though. >> > >> > Do you mean in the DT? Or in pinctrl-rza1.c? >> >> I mean in DT, i.e.: >> >> pinctrl: pin-controller@fcfe3000 { >> compatible = "renesas,r7s72101-ports", "renesas,r7s72100- >> ports"; >> ... >> >> That way you don't have to extend the pinctrl driver. > > I will submit a v2 with: > > [ renesas,rza1-pinctrl.txt ] > > Required properties: > - compatible > this shall be "renesas,r7s72100-ports" for RZ/A1H, > "renesas,r7s72101-ports" for RZ/M or ... with a fallback for "renesas,r7s72100-ports, as RZ/A1M is compatible with RZ/A1H (and I assume RZ/A1H is the predecessor?). > "renesas,r7s72102-ports" for RZ/A1L > > > [ r7s72100.dtsi ] > pinctrl: pin-controller@fcfe3000 { > compatible = "renesas,r7s72101-ports", "renesas,r7s72100-ports"; I meant in r7s72101.dtsi (which we don't have!). 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, On Wednesday, October 04, 2017 1, Geert Uytterhoeven wrote: > > I will submit a v2 with: > > > > [ renesas,rza1-pinctrl.txt ] > > > > Required properties: > > - compatible > > this shall be "renesas,r7s72100-ports" for RZ/A1H, > > "renesas,r7s72101-ports" for RZ/M or > > ... with a fallback for "renesas,r7s72100-ports, as RZ/A1M is compatible > with RZ/A1H (and I assume RZ/A1H is the predecessor?). OK. (and yes, RZ/A1H was the predecessor of RZ/A1M) > > "renesas,r7s72102-ports" for RZ/A1L > > > > > > [ r7s72100.dtsi ] > > pinctrl: pin-controller@fcfe3000 { > > compatible = "renesas,r7s72101-ports", > "renesas,r7s72100-ports"; > > I meant in r7s72101.dtsi (which we don't have!). Ohhhhh, I see :) Thank you. Chris
diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt index 43e21474528a..2a3366cee848 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt @@ -13,7 +13,8 @@ Pin controller node Required properties: - compatible - this shall be "renesas,r7s72100-ports". + this shall be "renesas,r7s72100-ports" for RZ/A1H and RZ/A1M or + "renesas,r7s72102-ports" for RZ/A1L - reg address base and length of the memory area where the pin controller
Compatible "r7s72102-ports" was added for RZ/A1L devices Signed-off-by: Chris Brandt <chris.brandt@renesas.com> --- Documentation/devicetree/bindings/pinctrl/renesas,rza1-pinctrl.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)