Hi Boris, On Fri, Mar 23, 2018 at 12:00 PM, Boris Brezillon <boris.brezillon@xxxxxxxxxxx> wrote: > Document the Cadence I3C gpio expander bindings. > > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx> Thanks for your patch! > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/gpio-cdns-i3c.txt > @@ -0,0 +1,38 @@ > +* Cadence I3C GPIO expander > + > +The Cadence I3C GPIO expander provides 8 GPIOs controllable over I3C. > +This GPIOs can be configured in output or input mode and if they are in input > +mode they can generate IBIs (In Band Interrupts). > + > +Required properties for GPIO node: > +- reg : 3 cells encoding the I3C static address (none in our case) and the I3C > + Provisional ID. See Documentation/devicetree/bindings/i3c/i3c.txt for > + more details. > + Should be <0x0 0x392 0x0>. No compatible value? > +- gpio-controller : Marks the device node as a gpio controller. > +- #gpio-cells : Should be two. The first cell is the pin number and > + the second cell is used to specify the gpio polarity: > + 0 = active high > + 1 = active low > +- interrupt-controller: Marks the device node as an interrupt controller. > +- #interrupt-cells : Should be 2. The first cell is the GPIO number. > + The second cell bits[3:0] is used to specify trigger type and level flags: > + 1 = low-to-high edge triggered. > + 2 = high-to-low edge triggered. > + 3 = triggered on both edges. > + 4 = active high level-sensitive. > + 8 = active low level-sensitive. > + > +Example: > + > + i3c-master@xxx { > + ... > + i3c_gpio_expander: gpio@0,1c9,0 { gpio@0,392,0? > + reg = <0 0x392 0x0>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + ... > + }; 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