Hi Chris, On Thu, Mar 2, 2017 at 9:17 PM, Chris Brandt <Chris.Brandt@xxxxxxxxxxx> wrote: > On Tuesday, February 21, 2017, jacopo mondi wrote: >> > + gpio-controller; >> > + #gpio-cells = <2>; >> > + gpio-ranges = <&pinctrl 0 0 16>; >> >> Not all ports have 16 pins available. >> This is one of the differences between different RZ/A1 SoC versions >> (RZ/A1H, RZ/A1L etc) >> >> I'll change the number of pins to the actual available ones on each port >> for r7s72100 (RZ/A1H) > > But wait, what if someone wants to use a RZ/A1L??? > > I don't want to make a separate dtsi file for RZ/A1L. > > Is it possible to change the number of port pins in the board dts file? > For example: > RZ/A1H: P5_0 - P5_10 > RZ/A1L: P5_0 - P5_16 That's 17 pins, not 16? > > So, in a rza1l-board.dts file I would put: > > &port5 { > gpio-ranges = <&pinctrl 0 80 16>; > } > > Will this work? Yes, overriding should work. But the number of pins is an SoC-property, not a board-property? Are the differences between RZ/A1H and RZ/A1L just the number of pins? If yes, you could use a hierarchical DTS structure: rza1h-<board>.dts: #include "rza1h.dtsi" // board specifics here rza1l-<board>.dts: #include "rza1l.dtsi" // board specifics here rza1h.dtsi: #include "rza.dtsi" // r7s72100.dtsi? // base SoC overrides &port5 { gpio-ranges = <&pinctrl 0 80 11>; } rza1l.dtsi: #include "rza.dtsi" // r7s72100.dtsi? // base SoC overrides &port5 { gpio-ranges = <&pinctrl 0 80 16>; } Actual naming of DTS files TBD. We could also decide to not have rza1h.dtsi, and assume the base dtsi is for RZ/A1H. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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