arm64: dts: librem5-devkit: add lsm9ds1 mount matrix
diff mbox series

Message ID 20200120100722.30359-1-martin.kepplinger@puri.sm
State New
Headers show
Series
  • arm64: dts: librem5-devkit: add lsm9ds1 mount matrix
Related show

Commit Message

Martin Kepplinger Jan. 20, 2020, 10:07 a.m. UTC
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 <martin.kepplinger@puri.sm>
---

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(+)

Comments

Martin Kepplinger Jan. 27, 2020, 9:21 a.m. UTC | #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 <martin.kepplinger@puri.sm>
> ---
> 
> 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
Martin Kepplinger Feb. 3, 2020, 10:19 a.m. UTC | #2
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 <martin.kepplinger@puri.sm>
> ---
> 
> 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
Marco Felsch Feb. 3, 2020, 11:05 a.m. UTC | #3
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 <m.felsch@pengutronix.de> 

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 <martin.kepplinger@puri.sm>
> ---
> 
> 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
Martin Kepplinger Feb. 3, 2020, 11:31 a.m. UTC | #4
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 <m.felsch@pengutronix.de> 
> 
> 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
Marco Felsch Feb. 4, 2020, 5:24 p.m. UTC | #5
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 <m.felsch@pengutronix.de> 
> > 
> > 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
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
Martin Kepplinger Feb. 5, 2020, 2:32 p.m. UTC | #6
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 <m.felsch@pengutronix.de> 
>>>

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/20200205143003.28408-1-martin.kepplinger@puri.sm/T/#t

thanks,
                                 martin

Patch
diff mbox series

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";
 	};
 };