diff mbox series

[2/4] dt-bindings: iio: accel: bma255: Add bosch,bmc156_accel

Message ID 20210719112156.27087-3-stephan@gerhold.net (mailing list archive)
State Changes Requested
Headers show
Series iio: accel: bmc150: Add support for INT2 and BMC156 | expand

Commit Message

Stephan Gerhold July 19, 2021, 11:21 a.m. UTC
BMC156 is very smilar to BMC150, but it has only one accelerometer
interrupt pin. It would make sense if only INT1 was exposed but someone
at Bosch was crazy and decided to only have an INT2 pin.

In this case, it does not make sense if the first interrupt pin is
treated as INT1 (since that pin does not exist). Add a note to the
bindings that the first interrupt pin is treated as INT2 for BMC156.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 .../bindings/iio/accel/bosch,bma255.yaml       | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Linus Walleij July 19, 2021, 1:58 p.m. UTC | #1
On Mon, Jul 19, 2021 at 1:26 PM Stephan Gerhold <stephan@gerhold.net> wrote:

> BMC156 is very smilar to BMC150, but it has only one accelerometer
> interrupt pin. It would make sense if only INT1 was exposed but someone
> at Bosch was crazy and decided to only have an INT2 pin.
>
> In this case, it does not make sense if the first interrupt pin is
> treated as INT1 (since that pin does not exist). Add a note to the
> bindings that the first interrupt pin is treated as INT2 for BMC156.
>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Jonathan Cameron July 24, 2021, 4:03 p.m. UTC | #2
On Mon, 19 Jul 2021 13:21:54 +0200
Stephan Gerhold <stephan@gerhold.net> wrote:

> BMC156 is very smilar to BMC150, but it has only one accelerometer
> interrupt pin. It would make sense if only INT1 was exposed but someone
> at Bosch was crazy and decided to only have an INT2 pin.
> 
> In this case, it does not make sense if the first interrupt pin is
> treated as INT1 (since that pin does not exist). Add a note to the
> bindings that the first interrupt pin is treated as INT2 for BMC156.
> 
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  .../bindings/iio/accel/bosch,bma255.yaml       | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> index 897a1d808ef5..f7848e4a7b29 100644
> --- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> +++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> @@ -26,6 +26,7 @@ properties:
>        - bosch,bma255
>        - bosch,bma280
>        - bosch,bmc150_accel
> +      - bosch,bmc156_accel
>        - bosch,bmi055_accel
>  
>        # bma180 driver in Linux
> @@ -49,6 +50,9 @@ properties:
>        the second (optional) interrupt listed must be the one connected to the
>        INT2 pin (if available). The type should be IRQ_TYPE_EDGE_RISING.
>  
> +      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
> +      always treated as INT2.

We 'could' enforce any name present for the bmc156 to be INT2, but we probably
still want the fallback you have in the driver to handle the case of
not interrupt-name provided.

Rob, do you think it's worth the complexity for this corner case?

Jonathan
> +
>    interrupt-names:
>      minItems: 1
>      maxItems: 2
> @@ -84,6 +88,20 @@ examples:
>              interrupt-names = "INT1";
>          };
>      };
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    i2c {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        accelerometer@10 {
> +            compatible = "bosch,bmc156_accel";
> +            reg = <0x10>;
> +            vddio-supply = <&vddio>;
> +            vdd-supply = <&vdd>;
> +            interrupts = <116 IRQ_TYPE_EDGE_RISING>;
> +            interrupt-names = "INT2";
> +        };
> +    };
>    - |
>      # include <dt-bindings/interrupt-controller/irq.h>
>      spi {
Rob Herring (Arm) July 29, 2021, 7:10 p.m. UTC | #3
On Sat, Jul 24, 2021 at 05:03:18PM +0100, Jonathan Cameron wrote:
> On Mon, 19 Jul 2021 13:21:54 +0200
> Stephan Gerhold <stephan@gerhold.net> wrote:
> 
> > BMC156 is very smilar to BMC150, but it has only one accelerometer
> > interrupt pin. It would make sense if only INT1 was exposed but someone
> > at Bosch was crazy and decided to only have an INT2 pin.
> > 
> > In this case, it does not make sense if the first interrupt pin is
> > treated as INT1 (since that pin does not exist). Add a note to the
> > bindings that the first interrupt pin is treated as INT2 for BMC156.
> > 
> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> > ---
> >  .../bindings/iio/accel/bosch,bma255.yaml       | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> > index 897a1d808ef5..f7848e4a7b29 100644
> > --- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> > +++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
> > @@ -26,6 +26,7 @@ properties:
> >        - bosch,bma255
> >        - bosch,bma280
> >        - bosch,bmc150_accel
> > +      - bosch,bmc156_accel
> >        - bosch,bmi055_accel
> >  
> >        # bma180 driver in Linux
> > @@ -49,6 +50,9 @@ properties:
> >        the second (optional) interrupt listed must be the one connected to the
> >        INT2 pin (if available). The type should be IRQ_TYPE_EDGE_RISING.
> >  
> > +      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
> > +      always treated as INT2.
> 
> We 'could' enforce any name present for the bmc156 to be INT2, but we probably
> still want the fallback you have in the driver to handle the case of
> not interrupt-name provided.
> 
> Rob, do you think it's worth the complexity for this corner case?

No.

Rob
Rob Herring (Arm) July 29, 2021, 7:10 p.m. UTC | #4
On Mon, 19 Jul 2021 13:21:54 +0200, Stephan Gerhold wrote:
> BMC156 is very smilar to BMC150, but it has only one accelerometer
> interrupt pin. It would make sense if only INT1 was exposed but someone
> at Bosch was crazy and decided to only have an INT2 pin.
> 
> In this case, it does not make sense if the first interrupt pin is
> treated as INT1 (since that pin does not exist). Add a note to the
> bindings that the first interrupt pin is treated as INT2 for BMC156.
> 
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  .../bindings/iio/accel/bosch,bma255.yaml       | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
index 897a1d808ef5..f7848e4a7b29 100644
--- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
+++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
@@ -26,6 +26,7 @@  properties:
       - bosch,bma255
       - bosch,bma280
       - bosch,bmc150_accel
+      - bosch,bmc156_accel
       - bosch,bmi055_accel
 
       # bma180 driver in Linux
@@ -49,6 +50,9 @@  properties:
       the second (optional) interrupt listed must be the one connected to the
       INT2 pin (if available). The type should be IRQ_TYPE_EDGE_RISING.
 
+      BMC156 does not have an INT1 pin, therefore the first interrupt pin is
+      always treated as INT2.
+
   interrupt-names:
     minItems: 1
     maxItems: 2
@@ -84,6 +88,20 @@  examples:
             interrupt-names = "INT1";
         };
     };
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        accelerometer@10 {
+            compatible = "bosch,bmc156_accel";
+            reg = <0x10>;
+            vddio-supply = <&vddio>;
+            vdd-supply = <&vdd>;
+            interrupts = <116 IRQ_TYPE_EDGE_RISING>;
+            interrupt-names = "INT2";
+        };
+    };
   - |
     # include <dt-bindings/interrupt-controller/irq.h>
     spi {