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 = <®_3v3_p>;
vddio-supply = <®_3v3_p>;
+ mount-matrix = "1", "0", "0",
+ "0", "1", "0",
+ "0", "0", "-1";
};
};
--
2.20.1
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 = <®_3v3_p>;
> vddio-supply = <®_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
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 = <®_3v3_p>;
> vddio-supply = <®_3v3_p>;
> + mount-matrix = "1", "0", "0",
> + "0", "1", "0",
> + "0", "0", "-1";
> };
> };
>
>
hi,
again, any questions or comments on this fix?
thanks,
martin
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 = <®_3v3_p>;
> vddio-supply = <®_3v3_p>;
> + mount-matrix = "1", "0", "0",
> + "0", "1", "0",
> + "0", "0", "-1";
> };
> };
>
> --
> 2.20.1
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
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 |
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