Re: [PATCH 2/6] dt-bindings: gpio: add max77759 binding

André Draszik
2025-02-24T21:52:10Z

Hi Rob,

On Mon, 2025-02-24 at 09:38 -0600, Rob Herring wrote:
> On Mon, Feb 24, 2025 at 10:28:50AM +0000, André Draszik wrote:
> > Add the DT binding document for the GPIO module of the Maxim MAX77759.
> >
> > Signed-off-by: André Draszik <andre.draszik@linaro.org>
> > ---
> >  .../bindings/gpio/maxim,max77759-gpio.yaml         | 47 ++++++++++++++++++++++
> >  1 file changed, 47 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/gpio/maxim,max77759-gpio.yaml
> > b/Documentation/devicetree/bindings/gpio/maxim,max77759-gpio.yaml
> > new file mode 100644
> > index 000000000000..9bafb16ad688
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/gpio/maxim,max77759-gpio.yaml
> > @@ -0,0 +1,47 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/gpio/maxim,max77759-gpio.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Maxim Integrated MAX77759 GPIO
> > +
> > +maintainers:
> > +  - André Draszik <andre.draszik@linaro.org>
> > +
> > +description: |
> > +  This module is part of the MAX77759 PMIC. For additional information, see
> > +  Documentation/devicetree/bindings/mfd/maxim,max77759.yaml.
> > +
> > +  The MAX77759 is a PMIC integrating, amongst others, a GPIO controller
> > +  including interrupt support for 2 GPIO lines.
> > +
> > +properties:
> > +  compatible:
> > +    const: maxim,max77759-gpio
> > +
> > +  "#interrupt-cells":
> > +    const: 2
> > +
> > +  interrupt-controller: true
> > +
> > +  interrupts:
> > +    maxItems: 2
>
> You need to define what each interrupt is.

I think maybe the interrupts property is not needed after all:

The PMIC has one external interrupt line (described by the top-level
device), and the two interrupts here are just a representation of
the PMIC's internal status register (i.e. top level interrupt is
raised when status register for one of the gpio lines changes,
amongst other things).

The intention is for a gpio driver to just treat and model them as
cascaded interrupts, but they don't need to be configured in any
way via device tree, as everything happens internally inside the
PMIC, there is no board-dependent routing or trigger type possible.
(Of course, there can be drivers subscribing to one (or both) of the two
cascaded interrupts here, but that shouldn't matter I believe).

Does that make sense? I added the property because
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
says it's a requirement to have an interrupts property, but I
believe it doesn't actually apply in this case as there's nothing
than can be configured.

Am I missing something?

Cheers,
Andre'

>
> > +
> > +  "#gpio-cells":
> > +    const: 2
> > +
> > +  gpio-controller: true
> > +
> > +  gpio-line-names:
> > +    minItems: 1
> > +    maxItems: 2
> > +
> > +required:
> > +  - compatible
> > +  - "#gpio-cells"
> > +  - gpio-controller
> > +  - "#interrupt-cells"
> > +  - interrupt-controller
> > +
> > +additionalProperties: false
> >
> > --
> > 2.48.1.658.g4767266eb4-goog
> >