All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180
@ 2021-06-14 16:31 Stephan Gerhold
  2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Stephan Gerhold @ 2021-06-14 16:31 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, Rob Herring, Linus Walleij, linux-iio,
	devicetree, Hans de Goede, Andy Shevchenko,
	~postmarketos/upstreaming, Stephan Gerhold

This patch series first fixes the interrupt type in the
bosch,bma255.yaml schema and then combines it with the
bosch,bma180.yaml schema since they are pretty much identical.

Stephan Gerhold (3):
  dt-bindings: iio: accel: bma255: Fix interrupt type
  dt-bindings: iio: accel: bma255: Sort compatibles
  dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema

 .../bindings/iio/accel/bosch,bma180.yaml      | 61 -------------------
 .../bindings/iio/accel/bosch,bma255.yaml      | 23 ++++---
 2 files changed, 16 insertions(+), 68 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml

-- 
2.32.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type
  2021-06-14 16:31 [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Stephan Gerhold
@ 2021-06-14 16:31 ` Stephan Gerhold
  2021-06-16  8:37   ` Linus Walleij
  2021-06-24 20:38   ` Rob Herring
  2021-06-14 16:31 ` [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles Stephan Gerhold
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 13+ messages in thread
From: Stephan Gerhold @ 2021-06-14 16:31 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, Rob Herring, Linus Walleij, linux-iio,
	devicetree, Hans de Goede, Andy Shevchenko,
	~postmarketos/upstreaming, Stephan Gerhold

Bosch accelerometers similar to BMA255 are initially configured to
emit an active-high interrupt signal. This is currently not re-configured
in the bmc150-accel driver so the interrupt should most certainly be
IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH).
(Unless there is some kind of inverter installed on the board...)

At the moment the bmc150-accel driver forcefully requests the IRQ
using IRQF_TRIGGER_RISING, which means that the IRQ type is currently
ignored in all existing device trees.

Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings")
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
It's probably better to let the bmc150-accel driver rely on the IRQ
type provided by the device tree in case of inverters or something.

However:
  1. We need to fix up several broken device trees first (I found
     IRQ_TYPE_LEVEL_LOW in some device trees).
  2. Similarly, I'm not sure if this might break some ACPI devices
     in case they have the wrong IRQ type listed?

As a first step this patch just fixes the documentation.
---
 Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
index e830d5295b92..b37ba902e4a2 100644
--- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
+++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
@@ -38,7 +38,7 @@ properties:
     description: |
       The first interrupt listed must be the one connected to the INT1 pin,
       the second (optional) interrupt listed must be the one connected to the
-      INT2 pin (if available).
+      INT2 pin (if available). The type should be IRQ_TYPE_EDGE_RISING.
 
   mount-matrix:
     description: an optional 3x3 mounting rotation matrix.
@@ -63,7 +63,7 @@ examples:
             reg = <0x08>;
             vddio-supply = <&vddio>;
             vdd-supply = <&vdd>;
-            interrupts = <57 IRQ_TYPE_EDGE_FALLING>;
+            interrupts = <57 IRQ_TYPE_EDGE_RISING>;
         };
     };
   - |
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles
  2021-06-14 16:31 [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Stephan Gerhold
  2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
@ 2021-06-14 16:31 ` Stephan Gerhold
  2021-06-16  8:38   ` Linus Walleij
  2021-06-24 20:38   ` Rob Herring
  2021-06-14 16:31 ` [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema Stephan Gerhold
  2021-07-18 14:51 ` [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Jonathan Cameron
  3 siblings, 2 replies; 13+ messages in thread
From: Stephan Gerhold @ 2021-06-14 16:31 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, Rob Herring, Linus Walleij, linux-iio,
	devicetree, Hans de Goede, Andy Shevchenko,
	~postmarketos/upstreaming, Stephan Gerhold

Similar to recent rework in the bmc150-accel driver, sort the compatible
list in the DT schema so there is a consistent order.

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

diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
index b37ba902e4a2..f35c57b8105f 100644
--- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
+++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
@@ -16,15 +16,15 @@ description:
 properties:
   compatible:
     enum:
-      - bosch,bmc150_accel
-      - bosch,bmi055_accel
+      - bosch,bma222
+      - bosch,bma222e
+      - bosch,bma250e
       - bosch,bma253
       - bosch,bma254
       - bosch,bma255
-      - bosch,bma250e
-      - bosch,bma222
-      - bosch,bma222e
       - bosch,bma280
+      - bosch,bmc150_accel
+      - bosch,bmi055_accel
 
   reg:
     maxItems: 1
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema
  2021-06-14 16:31 [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Stephan Gerhold
  2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
  2021-06-14 16:31 ` [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles Stephan Gerhold
@ 2021-06-14 16:31 ` Stephan Gerhold
  2021-06-16  9:04   ` Linus Walleij
  2021-06-24 20:40   ` Rob Herring
  2021-07-18 14:51 ` [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Jonathan Cameron
  3 siblings, 2 replies; 13+ messages in thread
From: Stephan Gerhold @ 2021-06-14 16:31 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Lars-Peter Clausen, Rob Herring, Linus Walleij, linux-iio,
	devicetree, Hans de Goede, Andy Shevchenko,
	~postmarketos/upstreaming, Stephan Gerhold

In Linux the bma180 and bmc150-accel driver cover fairly similar chips
from Bosch (just with minor register differences). For the DT schema,
this does not make any difference: They both represent I2C/SPI devices,
have one or two interrupts plus a vdd/vddio-supply.

This means there is no need to duplicate the schema, we can just
document the compatibles for both drivers in a single DT schema.

Suggested-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
Some additional notes:
  - The datasheet links in bma180 sadly seem all broken for me so
    I just dropped them.
  - I separated the bma180/bmc150-accel compatibles using a comment.
    This is just for clarity, it has no influence on the schema.
  - I added myself as second maintainer for the bma255 binding since
    Jonathan seemed to be happy to get unlisted for bma180. :)

In the future we could consider combining even more schemas.
In particular bosch,bma400.yaml and bosch,bmi088.yaml are also
almost identical, although they currently specify different interrupt
types. I think in general the situation for those Bosch sensors is
exactly the same: The sensors can be configured to either active-high
or active-low level. However, at the moment neither bma400 or bmi088
actually implement interrupt support. For now I kept those schemas
as-is, I think this is better left up for follow-up patches.
---
 .../bindings/iio/accel/bosch,bma180.yaml      | 61 -------------------
 .../bindings/iio/accel/bosch,bma255.yaml      |  9 +++
 2 files changed, 9 insertions(+), 61 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml

diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml
deleted file mode 100644
index a7e84089cc3d..000000000000
--- a/Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-%YAML 1.2
----
-$id: http://devicetree.org/schemas/iio/accel/bosch,bma180.yaml#
-$schema: http://devicetree.org/meta-schemas/core.yaml#
-
-title: Bosch BMA023 / BMA150/ BMA180 / BMA250 / SMB380 triaxial accelerometers
-
-maintainers:
-  - Jonathan Cameron <jic23@kernel.org>
-
-description: |
-  https://media.digikey.com/pdf/Data%20Sheets/Bosch/BMA150.pdf
-  http://omapworld.com/BMA180_111_1002839.pdf
-  http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/bst-bma250-ds002-05.pdf
-
-properties:
-  compatible:
-    enum:
-      - bosch,bma023
-      - bosch,bma150
-      - bosch,bma180
-      - bosch,bma250
-      - bosch,smb380
-
-  reg:
-    maxItems: 1
-
-  vdd-supply: true
-
-  vddio-supply: true
-
-  interrupts:
-    minItems: 1
-    maxItems: 2
-    description: |
-      Type should be either IRQ_TYPE_LEVEL_HIGH or IRQ_TYPE_EDGE_RISING.
-      For the bma250 the first interrupt listed must be the one
-      connected to the INT1 pin, the second (optional) interrupt
-      listed must be the one connected to the INT2 pin.
-
-required:
-  - compatible
-  - reg
-
-additionalProperties: false
-
-examples:
-  - |
-    #include <dt-bindings/interrupt-controller/irq.h>
-    i2c {
-        #address-cells = <1>;
-        #size-cells = <0>;
-        accel@40 {
-            compatible = "bosch,bma180";
-            reg = <0x40>;
-            interrupt-parent = <&gpio6>;
-            interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
-        };
-    };
-...
diff --git a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
index f35c57b8105f..5b35856b1942 100644
--- a/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
+++ b/Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml
@@ -8,6 +8,7 @@ title: Bosch BMA255 and Similar Accelerometers
 
 maintainers:
   - Linus Walleij <linus.walleij@linaro.org>
+  - Stephan Gerhold <stephan@gerhold.net>
 
 description:
   3 axis accelerometers with varying range and I2C or SPI
@@ -16,6 +17,7 @@ description:
 properties:
   compatible:
     enum:
+      # bmc150-accel driver in Linux
       - bosch,bma222
       - bosch,bma222e
       - bosch,bma250e
@@ -26,6 +28,13 @@ properties:
       - bosch,bmc150_accel
       - bosch,bmi055_accel
 
+      # bma180 driver in Linux
+      - bosch,bma023
+      - bosch,bma150
+      - bosch,bma180
+      - bosch,bma250
+      - bosch,smb380
+
   reg:
     maxItems: 1
 
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type
  2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
@ 2021-06-16  8:37   ` Linus Walleij
       [not found]     ` <20210616133328.56106589@jic23-huawei>
  2021-06-24 20:38   ` Rob Herring
  1 sibling, 1 reply; 13+ messages in thread
From: Linus Walleij @ 2021-06-16  8:37 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring, linux-iio,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Hans de Goede, Andy Shevchenko, ~postmarketos/upstreaming

On Mon, Jun 14, 2021 at 6:34 PM Stephan Gerhold <stephan@gerhold.net> wrote:

> Bosch accelerometers similar to BMA255 are initially configured to
> emit an active-high interrupt signal. This is currently not re-configured
> in the bmc150-accel driver so the interrupt should most certainly be
> IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH).
> (Unless there is some kind of inverter installed on the board...)
>
> At the moment the bmc150-accel driver forcefully requests the IRQ
> using IRQF_TRIGGER_RISING, which means that the IRQ type is currently
> ignored in all existing device trees.
>
> Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings")
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>

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

> However:
>   1. We need to fix up several broken device trees first (I found
>      IRQ_TYPE_LEVEL_LOW in some device trees).

Oh this situation... Some are mine I bet (I can fix those,
just poke me with something sharp.)

>   2. Similarly, I'm not sure if this might break some ACPI devices
>      in case they have the wrong IRQ type listed?

I never figured this out but Andy and maybe Bastien Nocera
knows more about this.

> As a first step this patch just fixes the documentation.

Fair enough, it makes things better.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles
  2021-06-14 16:31 ` [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles Stephan Gerhold
@ 2021-06-16  8:38   ` Linus Walleij
  2021-06-24 20:38   ` Rob Herring
  1 sibling, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2021-06-16  8:38 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring, linux-iio,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Hans de Goede, Andy Shevchenko, ~postmarketos/upstreaming

On Mon, Jun 14, 2021 at 6:34 PM Stephan Gerhold <stephan@gerhold.net> wrote:

> Similar to recent rework in the bmc150-accel driver, sort the compatible
> list in the DT schema so there is a consistent order.
>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>

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

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema
  2021-06-14 16:31 ` [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema Stephan Gerhold
@ 2021-06-16  9:04   ` Linus Walleij
  2021-06-16 17:36     ` Stephan Gerhold
  2021-06-24 20:40   ` Rob Herring
  1 sibling, 1 reply; 13+ messages in thread
From: Linus Walleij @ 2021-06-16  9:04 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring, linux-iio,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Hans de Goede, Andy Shevchenko, ~postmarketos/upstreaming

On Mon, Jun 14, 2021 at 6:34 PM Stephan Gerhold <stephan@gerhold.net> wrote:

> In Linux the bma180 and bmc150-accel driver cover fairly similar chips
> from Bosch (just with minor register differences). For the DT schema,
> this does not make any difference: They both represent I2C/SPI devices,
> have one or two interrupts plus a vdd/vddio-supply.
>
> This means there is no need to duplicate the schema, we can just
> document the compatibles for both drivers in a single DT schema.
>
> Suggested-by: Jonathan Cameron <jic23@kernel.org>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>

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

> Some additional notes:
>   - The datasheet links in bma180 sadly seem all broken for me so
>     I just dropped them.

Fair enough, but some people would be able to obtain them using the
Wayback machine.

>   - I separated the bma180/bmc150-accel compatibles using a comment.
>     This is just for clarity, it has no influence on the schema.

Some DT binding maintainers may be allergic to any mention of
Linux particulars in binding documents but I am not so fine by me.

>   - I added myself as second maintainer for the bma255 binding since
>     Jonathan seemed to be happy to get unlisted for bma180. :)

Thanks!

> In the future we could consider combining even more schemas.
> In particular bosch,bma400.yaml and bosch,bmi088.yaml are also
> almost identical, although they currently specify different interrupt
> types. I think in general the situation for those Bosch sensors is
> exactly the same: The sensors can be configured to either active-high
> or active-low level. However, at the moment neither bma400 or bmi088
> actually implement interrupt support. For now I kept those schemas
> as-is, I think this is better left up for follow-up patches.

The situation is caused by Bosch sensortec
division not being particularly involved with the maintenance of these
drivers in the Linux kernel. (They did send a few initial patches
some years back, but since have not been heard from.)

It would be great to get the attention of someone in charge
@bosch-sensortec.com.

Their own drivers seem to target stuff like Arduino but more
generally on the "OS independence shim"-paradigm:
https://github.com/BoschSensortec

They have their own community here:
https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community
Their users ask questions about Linux sensor support all the time.
Their stance seem to be to work directly with companies making
products through FAE:s (field application engineers). It's a bit
like a guild.

I tried to find a real mail address to them but failed.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema
  2021-06-16  9:04   ` Linus Walleij
@ 2021-06-16 17:36     ` Stephan Gerhold
  0 siblings, 0 replies; 13+ messages in thread
From: Stephan Gerhold @ 2021-06-16 17:36 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Jonathan Cameron, Lars-Peter Clausen, Rob Herring, linux-iio,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Hans de Goede, Andy Shevchenko, ~postmarketos/upstreaming

On Wed, Jun 16, 2021 at 11:04:36AM +0200, Linus Walleij wrote:
> On Mon, Jun 14, 2021 at 6:34 PM Stephan Gerhold <stephan@gerhold.net> wrote:
> 
> > In Linux the bma180 and bmc150-accel driver cover fairly similar chips
> > from Bosch (just with minor register differences). For the DT schema,
> > this does not make any difference: They both represent I2C/SPI devices,
> > have one or two interrupts plus a vdd/vddio-supply.
> >
> > This means there is no need to duplicate the schema, we can just
> > document the compatibles for both drivers in a single DT schema.
> >
> > Suggested-by: Jonathan Cameron <jic23@kernel.org>
> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> 
> > Some additional notes:
> >   - The datasheet links in bma180 sadly seem all broken for me so
> >     I just dropped them.
> 
> Fair enough, but some people would be able to obtain them using the
> Wayback machine.
>

Good point, perhaps we should add some links directly to the Wayback
Machine if it still has some of the datasheets. Those links should be
more stable. :)
 
> >   - I separated the bma180/bmc150-accel compatibles using a comment.
> >     This is just for clarity, it has no influence on the schema.
> 
> Some DT binding maintainers may be allergic to any mention of
> Linux particulars in binding documents but I am not so fine by me.
> 

Yeah, I kind of expected this to be honest. I don't mind removing those
comments, just thought it would be a bit less confusing for people who
read the bindings (so they know which driver covers which compatibles).
And for those using the bindings outside Linux, the comments can just be
ignored since they do not have any semantic meaning.

> 
> > In the future we could consider combining even more schemas.
> > In particular bosch,bma400.yaml and bosch,bmi088.yaml are also
> > almost identical, although they currently specify different interrupt
> > types. I think in general the situation for those Bosch sensors is
> > exactly the same: The sensors can be configured to either active-high
> > or active-low level. However, at the moment neither bma400 or bmi088
> > actually implement interrupt support. For now I kept those schemas
> > as-is, I think this is better left up for follow-up patches.
> 
> The situation is caused by Bosch sensortec
> division not being particularly involved with the maintenance of these
> drivers in the Linux kernel. (They did send a few initial patches
> some years back, but since have not been heard from.)
> 
> It would be great to get the attention of someone in charge
> @bosch-sensortec.com.
> 
> Their own drivers seem to target stuff like Arduino but more
> generally on the "OS independence shim"-paradigm:
> https://github.com/BoschSensortec
> 
> They have their own community here:
> https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community
> Their users ask questions about Linux sensor support all the time.
> Their stance seem to be to work directly with companies making
> products through FAE:s (field application engineers). It's a bit
> like a guild.
> 
> I tried to find a real mail address to them but failed.
> 

Yeah it would be nice if they would become a bit more involved. But from
my experience with various other vendors I'm not really expecting much
here sadly. However, I would be very happy to be proven otherwise. :)

Thanks!
Stephan

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type
       [not found]     ` <20210616133328.56106589@jic23-huawei>
@ 2021-06-17 10:08       ` Linus Walleij
  0 siblings, 0 replies; 13+ messages in thread
From: Linus Walleij @ 2021-06-17 10:08 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Stephan Gerhold, Lars-Peter Clausen, Rob Herring, linux-iio,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
	<devicetree@vger.kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,

On Wed, Jun 16, 2021 at 2:31 PM Jonathan Cameron <jic23@kernel.org> wrote:

> Be a little bit careful.  There is always the possibility
> someone has a board doing cheap level conversion via an inverter
> (I have one of those, though not with this device).
> We could in theory represent that explicitly, but I think this
> is still mostly done by just flipping the sense in DT and pretending
> the inverter doesn't exist.

This is what we do, the DT is not a 100% map of the actual
system, and we have no inverter driver, so that flag is used to
indicate "some electronics" that flip the polarity.

We should document that better though.

> So whilst it might superficially make sense to change it for
> all cases, make sure we get someone familiar with the board to
> sanity check them.

Was just thinking of those that I can test :)

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type
  2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
  2021-06-16  8:37   ` Linus Walleij
@ 2021-06-24 20:38   ` Rob Herring
  1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-06-24 20:38 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Rob Herring, Andy Shevchenko, devicetree, Lars-Peter Clausen,
	~postmarketos/upstreaming, Jonathan Cameron, Linus Walleij,
	Hans de Goede, linux-iio

On Mon, 14 Jun 2021 18:31:48 +0200, Stephan Gerhold wrote:
> Bosch accelerometers similar to BMA255 are initially configured to
> emit an active-high interrupt signal. This is currently not re-configured
> in the bmc150-accel driver so the interrupt should most certainly be
> IRQ_TYPE_EDGE_RISING (or potentially IRQ_TYPE_LEVEL_HIGH).
> (Unless there is some kind of inverter installed on the board...)
> 
> At the moment the bmc150-accel driver forcefully requests the IRQ
> using IRQF_TRIGGER_RISING, which means that the IRQ type is currently
> ignored in all existing device trees.
> 
> Fixes: 6259551 ("iio: accel: bmc150-accel: Add DT bindings")
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
> It's probably better to let the bmc150-accel driver rely on the IRQ
> type provided by the device tree in case of inverters or something.
> 
> However:
>   1. We need to fix up several broken device trees first (I found
>      IRQ_TYPE_LEVEL_LOW in some device trees).
>   2. Similarly, I'm not sure if this might break some ACPI devices
>      in case they have the wrong IRQ type listed?
> 
> As a first step this patch just fixes the documentation.
> ---
>  Documentation/devicetree/bindings/iio/accel/bosch,bma255.yaml | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles
  2021-06-14 16:31 ` [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles Stephan Gerhold
  2021-06-16  8:38   ` Linus Walleij
@ 2021-06-24 20:38   ` Rob Herring
  1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-06-24 20:38 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: devicetree, Hans de Goede, Lars-Peter Clausen, linux-iio,
	Jonathan Cameron, Rob Herring, ~postmarketos/upstreaming,
	Linus Walleij, Andy Shevchenko

On Mon, 14 Jun 2021 18:31:49 +0200, Stephan Gerhold wrote:
> Similar to recent rework in the bmc150-accel driver, sort the compatible
> list in the DT schema so there is a consistent order.
> 
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  .../devicetree/bindings/iio/accel/bosch,bma255.yaml    | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema
  2021-06-14 16:31 ` [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema Stephan Gerhold
  2021-06-16  9:04   ` Linus Walleij
@ 2021-06-24 20:40   ` Rob Herring
  1 sibling, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-06-24 20:40 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Andy Shevchenko, ~postmarketos/upstreaming, Rob Herring,
	Hans de Goede, devicetree, Linus Walleij, Jonathan Cameron,
	linux-iio, Lars-Peter Clausen

On Mon, 14 Jun 2021 18:31:50 +0200, Stephan Gerhold wrote:
> In Linux the bma180 and bmc150-accel driver cover fairly similar chips
> from Bosch (just with minor register differences). For the DT schema,
> this does not make any difference: They both represent I2C/SPI devices,
> have one or two interrupts plus a vdd/vddio-supply.
> 
> This means there is no need to duplicate the schema, we can just
> document the compatibles for both drivers in a single DT schema.
> 
> Suggested-by: Jonathan Cameron <jic23@kernel.org>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
> Some additional notes:
>   - The datasheet links in bma180 sadly seem all broken for me so
>     I just dropped them.
>   - I separated the bma180/bmc150-accel compatibles using a comment.
>     This is just for clarity, it has no influence on the schema.
>   - I added myself as second maintainer for the bma255 binding since
>     Jonathan seemed to be happy to get unlisted for bma180. :)
> 
> In the future we could consider combining even more schemas.
> In particular bosch,bma400.yaml and bosch,bmi088.yaml are also
> almost identical, although they currently specify different interrupt
> types. I think in general the situation for those Bosch sensors is
> exactly the same: The sensors can be configured to either active-high
> or active-low level. However, at the moment neither bma400 or bmi088
> actually implement interrupt support. For now I kept those schemas
> as-is, I think this is better left up for follow-up patches.
> ---
>  .../bindings/iio/accel/bosch,bma180.yaml      | 61 -------------------
>  .../bindings/iio/accel/bosch,bma255.yaml      |  9 +++
>  2 files changed, 9 insertions(+), 61 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml
> 

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180
  2021-06-14 16:31 [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Stephan Gerhold
                   ` (2 preceding siblings ...)
  2021-06-14 16:31 ` [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema Stephan Gerhold
@ 2021-07-18 14:51 ` Jonathan Cameron
  3 siblings, 0 replies; 13+ messages in thread
From: Jonathan Cameron @ 2021-07-18 14:51 UTC (permalink / raw)
  To: Stephan Gerhold
  Cc: Lars-Peter Clausen, Rob Herring, Linus Walleij, linux-iio,
	devicetree, Hans de Goede, Andy Shevchenko,
	~postmarketos/upstreaming

On Mon, 14 Jun 2021 18:31:47 +0200
Stephan Gerhold <stephan@gerhold.net> wrote:

> This patch series first fixes the interrupt type in the
> bosch,bma255.yaml schema and then combines it with the
> bosch,bma180.yaml schema since they are pretty much identical.
> 
> Stephan Gerhold (3):
>   dt-bindings: iio: accel: bma255: Fix interrupt type
>   dt-bindings: iio: accel: bma255: Sort compatibles
>   dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema
> 
>  .../bindings/iio/accel/bosch,bma180.yaml      | 61 -------------------
>  .../bindings/iio/accel/bosch,bma255.yaml      | 23 ++++---
>  2 files changed, 16 insertions(+), 68 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/iio/accel/bosch,bma180.yaml
> 

Series applied to the togreg branch of iio.git and pushed out as testing
to let 0-day have a shot at them.

I 'think' the outstanding discussion was all about potential follow up patches
rather than anything here, but if I've missed a reason we should hold off
on these then shout.

Thanks,

Jonathan

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2021-07-18 14:48 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-14 16:31 [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Stephan Gerhold
2021-06-14 16:31 ` [PATCH 1/3] dt-bindings: iio: accel: bma255: Fix interrupt type Stephan Gerhold
2021-06-16  8:37   ` Linus Walleij
     [not found]     ` <20210616133328.56106589@jic23-huawei>
2021-06-17 10:08       ` Linus Walleij
2021-06-24 20:38   ` Rob Herring
2021-06-14 16:31 ` [PATCH 2/3] dt-bindings: iio: accel: bma255: Sort compatibles Stephan Gerhold
2021-06-16  8:38   ` Linus Walleij
2021-06-24 20:38   ` Rob Herring
2021-06-14 16:31 ` [PATCH 3/3] dt-bindings: iio: accel: bma255: Merge bosch,bma180 schema Stephan Gerhold
2021-06-16  9:04   ` Linus Walleij
2021-06-16 17:36     ` Stephan Gerhold
2021-06-24 20:40   ` Rob Herring
2021-07-18 14:51 ` [PATCH 0/3] dt-bindings: iio: accel: bma255: Fix interrupt type / merge bma180 Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.