[PATCH] dt-bindings: iio: imu: st,lsm6dsx: add mount-matrix property

Martin Kepplinger posted 1 patch 2 years, 6 months ago
There is a newer version of this series
Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml | 6 ++++++
1 file changed, 6 insertions(+)
[PATCH] dt-bindings: iio: imu: st,lsm6dsx: add mount-matrix property
Posted by Martin Kepplinger 2 years, 6 months ago
Add the mount-matrix optional property to the binding since it's supported
and very useful when using the chip on a board.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
---
 Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
index b39f5217d8ff..443dce326c5e 100644
--- a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
+++ b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
@@ -93,6 +93,9 @@ properties:
   wakeup-source:
     $ref: /schemas/types.yaml#/definitions/flag
 
+  mount-matrix:
+    description: an optional 3x3 mounting rotation matrix
+
 required:
   - compatible
   - reg
@@ -114,6 +117,9 @@ examples:
             reg = <0x6b>;
             interrupt-parent = <&gpio0>;
             interrupts = <0 IRQ_TYPE_EDGE_RISING>;
+            mount-matrix =  "1",  "0",  "0",
+                            "0",  "1",  "0",
+                            "0",  "0", "-1";
         };
     };
 ...
-- 
2.30.2
Re: [PATCH] dt-bindings: iio: imu: st,lsm6dsx: add mount-matrix property
Posted by Jonathan Cameron 2 years, 6 months ago
On Fri, 21 Jul 2023 10:34:10 +0000
Martin Kepplinger <martink@posteo.de> wrote:

> Add the mount-matrix optional property to the binding since it's supported
> and very useful when using the chip on a board.
> 
> Signed-off-by: Martin Kepplinger <martink@posteo.de>

Hi Martin,

A question on the example.

> ---
>  Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
> index b39f5217d8ff..443dce326c5e 100644
> --- a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
> +++ b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml
> @@ -93,6 +93,9 @@ properties:
>    wakeup-source:
>      $ref: /schemas/types.yaml#/definitions/flag
>  
> +  mount-matrix:
> +    description: an optional 3x3 mounting rotation matrix
> +
>  required:
>    - compatible
>    - reg
> @@ -114,6 +117,9 @@ examples:
>              reg = <0x6b>;
>              interrupt-parent = <&gpio0>;
>              interrupts = <0 IRQ_TYPE_EDGE_RISING>;
> +            mount-matrix =  "1",  "0",  "0",
> +                            "0",  "1",  "0",
> +                            "0",  "0", "-1";

That's not a rotation matrix - so it's not a valid example...
IIRC it's a rotoinversion (determinant -1 whereas should be 1 for
a rotation matrix)
If a device is doing this we have a disagreement wrt to whether
it is using a left or right handed axis - which is a problem, though
one that is tricky to fix without causing people all sorts of problems..

Jonathan


>          };
>      };
>  ...