Message ID | 20240704-adp5588_gpio_support-v7-3-e34eb7eba5ab@analog.com |
---|---|
State | Superseded |
Headers | show |
Series | adp5588-keys: Support for dedicated gpio operation | expand |
On 04/07/2024 15:03, Utsav Agarwal via B4 Relay wrote: > From: Utsav Agarwal <utsav.agarwal@analog.com> Subject: everything is an update, be more specific. > > Updating dt bindings for adp5588. Since the device can now function in a > purely gpio mode, the following keypad specific properties are now made > optional: > - interrupts > - keypad,num-rows > - keypad,num-columns > - linux,keymap > > However the above properties are required to be specified when > configuring the device as a keypad, dependencies have been added > such that specifying either one would require the remaining as well. > > Note that interrupts are optional, but required when the device has been > configured in keypad mode. > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> > --- > .../devicetree/bindings/input/adi,adp5588.yaml | 46 +++++++++++++++++++--- > 1 file changed, 41 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml > index 26ea66834ae2..481c37595ebb 100644 > --- a/Documentation/devicetree/bindings/input/adi,adp5588.yaml > +++ b/Documentation/devicetree/bindings/input/adi,adp5588.yaml > @@ -49,7 +49,10 @@ properties: > interrupt-controller: > description: > This property applies if either keypad,num-rows lower than 8 or > - keypad,num-columns lower than 10. > + keypad,num-columns lower than 10. This property is optional if > + keypad,num-rows or keypad,num-columns are not specified since the > + device then acts as gpio only, during which interrupts may or may > + not be utilized. > > '#interrupt-cells': > const: 2 > @@ -65,13 +68,28 @@ properties: > minItems: 1 > maxItems: 2 > > + > +dependencies: > + keypad,num-rows: > + - linux,keymap > + - keypad,num-columns > + keypad,num-columns: > + - linux,keymap > + - keypad,num-rows > + linux,keymap: > + - keypad,num-rows > + - keypad,num-columns > + > +if: > + required: > + - linux,keymap > +then: > + required: > + - interrupts > + > required: > - compatible > - reg > - - interrupts > - - keypad,num-rows > - - keypad,num-columns > - - linux,keymap > > unevaluatedProperties: false > > @@ -108,4 +126,22 @@ examples: > >; > }; > }; > + > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/input/input.h> > + #include <dt-bindings/gpio/gpio.h> > + > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + gpio@34 { > + compatible = "adi,adp5588"; > + reg = <0x34>; Still messed indentation. Didn't you get already such feedback? Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml index 26ea66834ae2..481c37595ebb 100644 --- a/Documentation/devicetree/bindings/input/adi,adp5588.yaml +++ b/Documentation/devicetree/bindings/input/adi,adp5588.yaml @@ -49,7 +49,10 @@ properties: interrupt-controller: description: This property applies if either keypad,num-rows lower than 8 or - keypad,num-columns lower than 10. + keypad,num-columns lower than 10. This property is optional if + keypad,num-rows or keypad,num-columns are not specified since the + device then acts as gpio only, during which interrupts may or may + not be utilized. '#interrupt-cells': const: 2 @@ -65,13 +68,28 @@ properties: minItems: 1 maxItems: 2 + +dependencies: + keypad,num-rows: + - linux,keymap + - keypad,num-columns + keypad,num-columns: + - linux,keymap + - keypad,num-rows + linux,keymap: + - keypad,num-rows + - keypad,num-columns + +if: + required: + - linux,keymap +then: + required: + - interrupts + required: - compatible - reg - - interrupts - - keypad,num-rows - - keypad,num-columns - - linux,keymap unevaluatedProperties: false @@ -108,4 +126,22 @@ examples: >; }; }; + + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/input/input.h> + #include <dt-bindings/gpio/gpio.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + gpio@34 { + compatible = "adi,adp5588"; + reg = <0x34>; + + #gpio-cells = <2>; + gpio-controller; + }; + }; + ...