2023-07-21 11:13:48

by Martin Kepplinger

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

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 <[email protected]>
---
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



2023-07-23 09:56:45

by Jonathan Cameron

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

On Fri, 21 Jul 2023 10:34:10 +0000
Martin Kepplinger <[email protected]> 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 <[email protected]>

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


> };
> };
> ...