On Tue, Oct 16, 2018 at 7:53 PM Chris Brandt <Chris.Brandt@xxxxxxxxxxx> wrote: > > On Tuesday, October 16, 2018, Rob Herring wrote: > > > +Optional properties: > > > + - gpio-controller > > > + Include this in order to enable GPIO functionality. When included, > > both > > > + gpio_cells and gpio_ranges are then required. > > > + - #gpio-cells > > > + Must be 2 > > > + - gpio-ranges > > > + Expresses the total number GPIO ports/pins in this SoC > > > > Are these really optional? I guess in theory a board could use no GPIOs, > > but that seems unlikely. > > They are 'optional' in the sense that if you don't include them in the > DT, the driver still loads (just without any GPIO, but pinctrl still > works). So, I was just documenting that fact. > > If you think I should just move these to required, let me know an I'm > fine with that. (as in, DT documents HW, not software) I do. There's no implicit requirement that the s/w has to support it. > > > +Sub-nodes > > > +--------- > > > + > > > +The child nodes of the pin controller node describe a pin multiplexing > > > +function or a GPIO controller alternatively. > > > > But the parent is already a GPIO controller. This needs to be fully > > defined. > > Now that I read this, I think my wording was off (I was borrowing text > for other files). > > How about this: > > The child nodes of the pin controller designate pins to be used for > specific peripheral functions or as GPIO. Sure.