Message ID | 20200120100722.30359-1-martin.kepplinger@puri.sm (mailing list archive) |
---|---|
State | Mainlined |
Commit | eef22bb129dfef560e9a17dac6fc751b24832bd1 |
Headers | show |
Series | arm64: dts: librem5-devkit: add lsm9ds1 mount matrix | expand |
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 = <®_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 <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 = <®_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 <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 = <®_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 <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
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 >
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
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"; }; };
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(+)