2020-01-20 10:11:34

by Martin Kepplinger

[permalink] [raw]
Subject: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

The IMU chip on the librem5-devkit is not mounted at the "natural" place
that would match normal phone orientation (see the documentation for the
details about what that is).

Since the lsm9ds1 driver supports providing a mount matrix, we can describe
the orientation on the board in the dts:

Create a right-handed coordinate system (x * -1; see the datasheet for the
axis) and rotate 180 degrees around the y axis because the device sits on
the back side from the display.

Signed-off-by: Martin Kepplinger <[email protected]>
---

tested on the librem5-devkit of course, finally fixing the orientation problem
for the accelerometer :)

thanks,

martin


arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
index 703254282b96..6c8ab009081b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
@@ -457,6 +457,9 @@
reg = <0x6a>;
vdd-supply = <&reg_3v3_p>;
vddio-supply = <&reg_3v3_p>;
+ mount-matrix = "1", "0", "0",
+ "0", "1", "0",
+ "0", "0", "-1";
};
};

--
2.20.1


2020-01-27 09:25:45

by Martin Kepplinger

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

On 20.01.20 11:07, Martin Kepplinger wrote:
> The IMU chip on the librem5-devkit is not mounted at the "natural" place
> that would match normal phone orientation (see the documentation for the
> details about what that is).
>
> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
> the orientation on the board in the dts:
>
> Create a right-handed coordinate system (x * -1; see the datasheet for the
> axis) and rotate 180 degrees around the y axis because the device sits on
> the back side from the display.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> ---
>
> tested on the librem5-devkit of course, finally fixing the orientation problem
> for the accelerometer :)
>
> thanks,
>
> martin
>
>
> arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> index 703254282b96..6c8ab009081b 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> @@ -457,6 +457,9 @@
> reg = <0x6a>;
> vdd-supply = <&reg_3v3_p>;
> vddio-supply = <&reg_3v3_p>;
> + mount-matrix = "1", "0", "0",
> + "0", "1", "0",
> + "0", "0", "-1";
> };
> };
>
>

hi all. are there any questions about this addition?

thanks a lot,

martin

2020-02-03 11:32:28

by Martin Kepplinger

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

On 20.01.20 11:07, Martin Kepplinger wrote:
> The IMU chip on the librem5-devkit is not mounted at the "natural" place
> that would match normal phone orientation (see the documentation for the
> details about what that is).
>
> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
> the orientation on the board in the dts:
>
> Create a right-handed coordinate system (x * -1; see the datasheet for the
> axis) and rotate 180 degrees around the y axis because the device sits on
> the back side from the display.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> ---
>
> tested on the librem5-devkit of course, finally fixing the orientation problem
> for the accelerometer :)
>
> thanks,
>
> martin
>
>
> arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> index 703254282b96..6c8ab009081b 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> @@ -457,6 +457,9 @@
> reg = <0x6a>;
> vdd-supply = <&reg_3v3_p>;
> vddio-supply = <&reg_3v3_p>;
> + mount-matrix = "1", "0", "0",
> + "0", "1", "0",
> + "0", "0", "-1";
> };
> };
>
>

hi,

again, any questions or comments on this fix?

thanks,
martin

2020-02-03 12:14:51

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

Hi Martin,

On 20-01-20 11:07, Martin Kepplinger wrote:
> The IMU chip on the librem5-devkit is not mounted at the "natural" place
> that would match normal phone orientation (see the documentation for the
> details about what that is).
>
> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
> the orientation on the board in the dts:

I didn't found the patch which adds the iio_read_mount_matrix()
support. Appart of that your patch looks good so feel free to add my:

Reviewed-by: Marco Felsch <[email protected]>

Regards,
Marco

> Create a right-handed coordinate system (x * -1; see the datasheet for the
> axis) and rotate 180 degrees around the y axis because the device sits on
> the back side from the display.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> ---
>
> tested on the librem5-devkit of course, finally fixing the orientation problem
> for the accelerometer :)
>
> thanks,
>
> martin
>
>
> arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> index 703254282b96..6c8ab009081b 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
> @@ -457,6 +457,9 @@
> reg = <0x6a>;
> vdd-supply = <&reg_3v3_p>;
> vddio-supply = <&reg_3v3_p>;
> + mount-matrix = "1", "0", "0",
> + "0", "1", "0",
> + "0", "0", "-1";
> };
> };
>
> --
> 2.20.1

2020-02-03 13:04:31

by Martin Kepplinger

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix



On 03.02.20 12:05, Marco Felsch wrote:
> Hi Martin,
>
> On 20-01-20 11:07, Martin Kepplinger wrote:
>> The IMU chip on the librem5-devkit is not mounted at the "natural" place
>> that would match normal phone orientation (see the documentation for the
>> details about what that is).
>>
>> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
>> the orientation on the board in the dts:
>
> I didn't found the patch which adds the iio_read_mount_matrix()
> support. Appart of that your patch looks good so feel free to add my:
>
> Reviewed-by: Marco Felsch <[email protected]>
>
> Regards,
> Marco
>

hi Marco, thanks for having a look. there it is:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04e6fedb18f6899453e59a748fb95be56ef73836

thanks again, for now as long as I don't resend I leave adding the
reviewed-by to maintainers,

martin

2020-02-04 17:25:15

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

On 20-02-03 12:31, Martin Kepplinger wrote:
>
>
> On 03.02.20 12:05, Marco Felsch wrote:
> > Hi Martin,
> >
> > On 20-01-20 11:07, Martin Kepplinger wrote:
> >> The IMU chip on the librem5-devkit is not mounted at the "natural" place
> >> that would match normal phone orientation (see the documentation for the
> >> details about what that is).
> >>
> >> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
> >> the orientation on the board in the dts:
> >
> > I didn't found the patch which adds the iio_read_mount_matrix()
> > support. Appart of that your patch looks good so feel free to add my:
> >
> > Reviewed-by: Marco Felsch <[email protected]>
> >
> > Regards,
> > Marco
> >
>
> hi Marco, thanks for having a look. there it is:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04e6fedb18f6899453e59a748fb95be56ef73836

I see =)

> thanks again, for now as long as I don't resend I leave adding the
> reviewed-by to maintainers,
>
> martin
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2020-02-05 14:34:46

by Martin Kepplinger

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: librem5-devkit: add lsm9ds1 mount matrix

On 04.02.20 18:24, Marco Felsch wrote:
> On 20-02-03 12:31, Martin Kepplinger wrote:
>>
>>
>> On 03.02.20 12:05, Marco Felsch wrote:
>>> Hi Martin,
>>>
>>> On 20-01-20 11:07, Martin Kepplinger wrote:
>>>> The IMU chip on the librem5-devkit is not mounted at the "natural" place
>>>> that would match normal phone orientation (see the documentation for the
>>>> details about what that is).
>>>>
>>>> Since the lsm9ds1 driver supports providing a mount matrix, we can describe
>>>> the orientation on the board in the dts:
>>>
>>> I didn't found the patch which adds the iio_read_mount_matrix()
>>> support. Appart of that your patch looks good so feel free to add my:
>>>
>>> Reviewed-by: Marco Felsch <[email protected]>
>>>

btw, I have resent this (and included your tag) as part of a series with
more librem5-devkit dts additions:
https://lore.kernel.org/linux-devicetree/[email protected]/T/#t

thanks,
martin