Re: [PATCH v5 06/10] dt-bindings: iio: accel: add interrupt-names

Lothar Rubusch
2024-12-05T19:42:28Z

On Thu, Dec 5, 2024 at 6:54 PM Conor Dooley <conor@kernel.org> wrote:
>
> On Thu, Dec 05, 2024 at 05:13:39PM +0000, Lothar Rubusch wrote:
> > Add interrupt-names INT1 and INT2 for the two interrupt lines of the
> > sensor. Only one line will be connected for incoming events. The driver
> > needs to be configured accordingly. If no interrupt line is set up, the
> > sensor will still measure, but no events are possible.
> >
> > Signed-off-by: Lothar Rubusch <l.rubusch@gmail.com>
> > ---
> > .../devicetree/bindings/iio/accel/adi,adxl345.yaml | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml b/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml
> > index 280ed479ef5..67e2c029a6c 100644
> > --- a/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml
> > +++ b/Documentation/devicetree/bindings/iio/accel/adi,adxl345.yaml
> > @@ -37,6 +37,11 @@ properties:
> > interrupts:
> > maxItems: 1
> >
> > + interrupt-names:
> > + description: Use either INT1 or INT2 for events, or ignore events.
> > + items:
> > + - enum: [INT1, INT2]
>
> The description for this ", or ignore events" does not make sense. Just
> drop it, it's clear what happens if you don't provide interrupts.
>
> However, interrupts is a required property but interrupt-names is not.
> Seems rather pointless not making interrupt-names a required property
> (in the binding!) since if you only add interrupts and not
> interrupt-names you can't even use the interrupt as you do not know
> whether or not it is INT1 or INT2?

What I meant is, yes, the sensor needs an interrupt line.
Interrupt-names is optional. The sensor always can measure. When
interrupt-names is specified, though, the sensor will setup a FIFO and
can use events, such as data ready, watermark, single tap, freefall,
etc. Without the interrupt-names, the sensor goes into a "FIFO bypass
mode" without its specific events.

Hence, I better drop the description entirely, since it rather seems
to be confusing.

Best,
L

> > +
> > required:
> > - compatible
> > - reg
> > @@ -61,6 +66,7 @@ examples:
> > reg = <0x2a>;
> > interrupt-parent = <&gpio0>;
> > interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> > + interrupt-names = "INT1";
> > };
> > };
> > - |
> > @@ -79,5 +85,6 @@ examples:
> > spi-cpha;
> > interrupt-parent = <&gpio0>;
> > interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> > + interrupt-names = "INT2";
> > };
> > };
> > --
> > 2.39.2
> >