Re: [PATCH v2 1/2] dt-bindings: iio: imu: icm42600: add interrupt naming support

From: Jean-Baptiste Maneyrol
Date: Wed Apr 09 2025 - 11:16:14 EST


Hello Conor,

the chips have 2 interrupts pins and it is possible to configure each event (data ready, FIFO watermark, ...) to trigger the interrupt pin we want. But the driver is supporting only INT1 interrupt pin.

I will modify the binding to report the 2 interrupts with the 2 names and delete the description that was really needed only for the driver limitation.

Thanks for your feedback,
JB

________________________________________
From: Conor Dooley
Sent: Tuesday, April 08, 2025 18:23
To: Jean-Baptiste Maneyrol
Cc: Jonathan Cameron; Lars-Peter Clausen; Rob Herring; Krzysztof Kozlowski; Conor Dooley; linux-iio@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH v2 1/2] dt-bindings: iio: imu: icm42600: add interrupt naming support


On Mon, Apr 07, 2025 at 09:57:16PM +0200, Jean-Baptiste Maneyrol via B4 Relay wrote:

> From: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>

>

> Add interrupt-names field for specifying interrupt used. Only INT1

> is supported by the driver currently.

>

> Add minItems 1 for interrupts since interrupt is mandatory for the driver.

>

> Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@xxxxxxx>

> ---

>  .../devicetree/bindings/iio/imu/invensense,icm42600.yaml    | 13 +++++++++++++

>  1 file changed, 13 insertions(+)

>

> diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml

> index 7e4492bbd0278a336587dc5ac04da7153453da29..707f2169ce9a3ca41d81560bed15786fe010109e 100644

> --- a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml

> +++ b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml

> @@ -41,6 +41,17 @@ properties:

>    interrupts:

>      maxItems: 1

> 

> +  interrupt-names:

> +    minItems: 1

> +    maxItems: 1

> +    items:

> +      enum:

> +        - INT1

> +        - INT2



I might be misremembering from looking up the datasheet, but it gave the

impression that either all interrupts can be wired to int1 or int1 and

int2 are usable. How come maxItems is set to one here, not two? Surely

someone could wire them both up, even if the driver only ever uses the

former.



> +    description: |

> +      choose chip interrupt pin to be used as interrupt input, beware that the

> +      only support interrupt pin is INT1 for the moment.



What linux supports should not be part of the hardware description.



> +

>    drive-open-drain:

>      type: boolean

> 

> @@ -76,6 +87,7 @@ examples:

>              reg = <0x68>;

>              interrupt-parent = <&gpio2>;

>              interrupts = <7 IRQ_TYPE_EDGE_FALLING>;

> +            interrupt-names = "INT1";

>              vdd-supply = <&vdd>;

>              vddio-supply = <&vddio>;

>          };

> @@ -95,6 +107,7 @@ examples:

>              spi-cpol;

>              interrupt-parent = <&gpio1>;

>              interrupts = <2 IRQ_TYPE_EDGE_FALLING>;

> +            interrupt-names = "INT1";

>              vdd-supply = <&vdd>;

>              vddio-supply = <&vddio>;

>          };

>

> --

> 2.49.0

>

>