On 23/12/2024 17:42, Mathieu Dubois-Briand wrote: > Add device tree bindings for Maxim Integrated MAX7360 device with > support for keypad, rotary, gpios and pwm functionalities. > > Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx> > --- > .../bindings/gpio/maxim,max7360-gpio.yaml | 80 +++++++++++++++ > .../devicetree/bindings/mfd/maxim,max7360.yaml | 107 +++++++++++++++++++++ > 2 files changed, 187 insertions(+) > > diff --git a/Documentation/devicetree/bindings/gpio/maxim,max7360-gpio.yaml b/Documentation/devicetree/bindings/gpio/maxim,max7360-gpio.yaml > new file mode 100644 > index 000000000000..6e6133ce6e68 > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/maxim,max7360-gpio.yaml > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/maxim,max7360-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX7360 GPIO controller > + > +maintainers: > + - Kamel Bouhara <kamel.bouhara@xxxxxxxxxxx> > + - Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx> > + > +description: | > + Maxim MAX7360 GPIO controller, in MAX7360 chipset > + https://www.analog.com/en/products/max7360.html Don't send new versions so fast, especially for larger patchsets, so we can finish previous discussion. You gave me yesterday around 1 hour to respond to your last email and then you sent v2. Please implement my last comments on v1. > + > +properties: > + compatible: > + enum: > + - maxim,max7360-gpio > + - maxim,max7360-gpo ... > +additionalProperties: false > + > +examples: > + - | > + gpio { > + compatible = "maxim,max7360-gpio"; > + > + gpio-controller; > + #gpio-cells = <0x2>; Not a hex, <2> > + ngpios = <8>; > + maxim,constant-current-disable = <0x06>; > + > + interrupt-controller; > + #interrupt-cells = <0x2>; Not a hex, <2> > + }; > diff --git a/Documentation/devicetree/bindings/mfd/maxim,max7360.yaml b/Documentation/devicetree/bindings/mfd/maxim,max7360.yaml > new file mode 100644 > index 000000000000..1f761707070a > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/maxim,max7360.yaml > @@ -0,0 +1,107 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/maxim,max7360.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX7360 Keypad, Rotary encoder, PWM and GPIO controller > + > +maintainers: > + - Kamel Bouhara <kamel.bouhara@xxxxxxxxxxx> > + - Mathieu Dubois-Briand <mathieu.dubois-briand@xxxxxxxxxxx> > + > +description: | > + Maxim MAX7360 device, with following functions: > + - keypad controller > + - rotary controller > + - GPIO and GPO controller > + - PWM controller > + > + https://www.analog.com/en/products/max7360.html > + > +allOf: > + - $ref: /schemas/input/matrix-keymap.yaml# > + - $ref: /schemas/input/input.yaml# > + > +properties: > + compatible: > + enum: > + - maxim,max7360 > + > + reg: > + maxItems: 1 > + > + interrupts: > + minItems: 2 You can drop minItems. > + maxItems: 2 > +> + interrupt-names: > + items: > + - const: inti > + - const: intk > + > + keypad-debounce-delay-ms: > + description: Keypad debounce delay in ms > + minimum: 9 > + maximum: 40 > + default: 9 > + > + autorepeat: true > + > + rotary-debounce-delay-ms: > + description: Rotary encoder debounce delay in ms > + minimum: 0 > + maximum: 15 > + default: 0 > + > + linux,axis: > + description: The input subsystem axis to map to this rotary encoder. > + > + "#pwm-cells": > + const: 3 > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-names > + - linux,keymap > + - linux,axis > + - "#pwm-cells" > + > +unevaluatedProperties: false > + Well, I still see it incomplete... and to prove it, please post your DTS for entire max7360 and validate it against bindings. There is no way this works, unless GPIO is not part of this device but then it is obviously incorrect design. Best regards, Krzysztof