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@xxxxxxxxxx> > --- > .../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@xxxxxxxxxx> > + > +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@xxxxxxxxxx> > 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 > >