Message ID | 20220708093448.42617-6-nuno.sa@analog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | adp5588-keys refactor and fw properties support | expand |
On Fri, Jul 08, 2022 at 11:34:43AM +0200, Nuno Sá wrote: > Add device tree bindings for the adp5588-keys driver. > > Signed-off-by: Nuno Sá <nuno.sa@analog.com> > --- > .../bindings/input/adi,adp5588-keys.yaml | 110 ++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 111 insertions(+) > create mode 100644 Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml b/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml > new file mode 100644 > index 000000000000..c079af8a063d > --- /dev/null > +++ b/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml > @@ -0,0 +1,110 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/input/adi,adp5588-keys.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices ADP5588 Keypad Controller > + > +maintainers: > + - Nuno Sá <nuno.sa@analog.com> > + > +description: | > + Analog Devices Mobile I/O Expander and QWERTY Keypad Controller > + https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf > + > +allOf: > + - $ref: "/schemas/input/matrix-keymap.yaml#" > + - $ref: input.yaml# Be consistent with paths and quotes. Don't need quotes. Use either full path or no path. > + > +properties: > + compatible: > + enum: > + - adi,adp5588-keys > + - adi,adp5587-keys '-keys' is redundant. The device doesn't do anything else. IOW, it's not sub-block of an SoC. > + > + reg: > + maxItems: 1 > + > + vcc-supply: > + description: Supply Voltage Input > + > + reset-gpios: > + description: > + If specified, it will be asserted during driver probe. As the line is > + active low, it should be marked GPIO_ACTIVE_LOW. > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + gpio-controller: > + description: > + This property applies if either keypad,num-rows lower than 8 or > + keypad,num-columns lower than 10. > + > + '#gpio-cells': > + const: 2 > + > + interrupt-controller: > + description: > + This property applies if either keypad,num-rows lower than 8 or > + keypad,num-columns lower than 10. > + > + '#interrupt-cells': > + const: 2 > + > + adi,unlock-keys: > + description: > + Specifies a maximum of 2 keys that can be used to unlock the keypad. > + If this property is set, the keyboard will be locked and only unlocked > + after these keys are pressed. If only one key is set, a double click is > + needed to unlock the keypad. > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 1 > + maxItems: 2 > + > +required: > + - compatible > + - reg > + - interrupts > + - keypad,num-rows > + - keypad,num-columns > + - linux,keymap > + > +unevaluatedProperties: false > + > +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>; > + > + adp5588@34 { > + compatible = "adi,adp5588-keys"; > + reg = <0x34>; > + > + vcc-supply = <&vcc>; > + interrupts = <21 IRQ_TYPE_EDGE_FALLING>; > + interrupt-parent = <&gpio>; > + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; > + > + keypad,num-rows = <1>; > + keypad,num-columns = <9>; > + linux,keymap = < > + MATRIX_KEY(0x00, 0x00, KEY_1) > + MATRIX_KEY(0x00, 0x01, KEY_2) > + MATRIX_KEY(0x00, 0x02, KEY_3) > + MATRIX_KEY(0x00, 0x03, KEY_4) > + MATRIX_KEY(0x00, 0x04, KEY_5) > + MATRIX_KEY(0x00, 0x05, KEY_6) > + MATRIX_KEY(0x00, 0x06, KEY_7) > + MATRIX_KEY(0x00, 0x07, KEY_8) > + MATRIX_KEY(0x00, 0x08, KEY_9) > + >; > + }; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 41037cfd75fe..f9c09f0ed0d4 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -548,6 +548,7 @@ M: Michael Hennerich <michael.hennerich@analog.com> > S: Supported > W: http://wiki.analog.com/ADP5588 > W: https://ez.analog.com/linux-software-drivers > +F: Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml > F: drivers/input/keyboard/adp5588-keys.c > > ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863) > -- > 2.37.0 > >
diff --git a/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml b/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml new file mode 100644 index 000000000000..c079af8a063d --- /dev/null +++ b/Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml @@ -0,0 +1,110 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/input/adi,adp5588-keys.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices ADP5588 Keypad Controller + +maintainers: + - Nuno Sá <nuno.sa@analog.com> + +description: | + Analog Devices Mobile I/O Expander and QWERTY Keypad Controller + https://www.analog.com/media/en/technical-documentation/data-sheets/ADP5588.pdf + +allOf: + - $ref: "/schemas/input/matrix-keymap.yaml#" + - $ref: input.yaml# + +properties: + compatible: + enum: + - adi,adp5588-keys + - adi,adp5587-keys + + reg: + maxItems: 1 + + vcc-supply: + description: Supply Voltage Input + + reset-gpios: + description: + If specified, it will be asserted during driver probe. As the line is + active low, it should be marked GPIO_ACTIVE_LOW. + maxItems: 1 + + interrupts: + maxItems: 1 + + gpio-controller: + description: + This property applies if either keypad,num-rows lower than 8 or + keypad,num-columns lower than 10. + + '#gpio-cells': + const: 2 + + interrupt-controller: + description: + This property applies if either keypad,num-rows lower than 8 or + keypad,num-columns lower than 10. + + '#interrupt-cells': + const: 2 + + adi,unlock-keys: + description: + Specifies a maximum of 2 keys that can be used to unlock the keypad. + If this property is set, the keyboard will be locked and only unlocked + after these keys are pressed. If only one key is set, a double click is + needed to unlock the keypad. + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 2 + +required: + - compatible + - reg + - interrupts + - keypad,num-rows + - keypad,num-columns + - linux,keymap + +unevaluatedProperties: false + +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>; + + adp5588@34 { + compatible = "adi,adp5588-keys"; + reg = <0x34>; + + vcc-supply = <&vcc>; + interrupts = <21 IRQ_TYPE_EDGE_FALLING>; + interrupt-parent = <&gpio>; + reset-gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + + keypad,num-rows = <1>; + keypad,num-columns = <9>; + linux,keymap = < + MATRIX_KEY(0x00, 0x00, KEY_1) + MATRIX_KEY(0x00, 0x01, KEY_2) + MATRIX_KEY(0x00, 0x02, KEY_3) + MATRIX_KEY(0x00, 0x03, KEY_4) + MATRIX_KEY(0x00, 0x04, KEY_5) + MATRIX_KEY(0x00, 0x05, KEY_6) + MATRIX_KEY(0x00, 0x06, KEY_7) + MATRIX_KEY(0x00, 0x07, KEY_8) + MATRIX_KEY(0x00, 0x08, KEY_9) + >; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 41037cfd75fe..f9c09f0ed0d4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -548,6 +548,7 @@ M: Michael Hennerich <michael.hennerich@analog.com> S: Supported W: http://wiki.analog.com/ADP5588 W: https://ez.analog.com/linux-software-drivers +F: Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml F: drivers/input/keyboard/adp5588-keys.c ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
Add device tree bindings for the adp5588-keys driver. Signed-off-by: Nuno Sá <nuno.sa@analog.com> --- .../bindings/input/adi,adp5588-keys.yaml | 110 ++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 111 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/adi,adp5588-keys.yaml