Hello Andreas On Sun, Jul 28, 2024 at 10:06:58AM +0200, Andreas Kemnade wrote: > > On Mon, Jul 22, 2024 at 01:31:11PM +0200, Sicelo A. Mhlongo wrote: > > > Negate the values reported for the accelerometer z-axis in order to > > > match Documentation/devicetree/bindings/iio/mount-matrix.txt. > > > > > > Fixes: 14a213dcb004 ("ARM: dts: n900: use iio driver for > > > accelerometer") > > > > > > Signed-off-by: Sicelo A. Mhlongo <absicsz@xxxxxxxxx> > > > --- > > > arch/arm/boot/dts/ti/omap/omap3-n900.dts | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/arch/arm/boot/dts/ti/omap/omap3-n900.dts > > > b/arch/arm/boot/dts/ti/omap/omap3-n900.dts index > > > 07c5b963af78..4bde3342bb95 100644 --- > > > a/arch/arm/boot/dts/ti/omap/omap3-n900.dts +++ > > > b/arch/arm/boot/dts/ti/omap/omap3-n900.dts @@ -781,7 +781,7 @@ > > > accelerometer@1d { > > > mount-matrix = "-1", "0", "0", > > > "0", "1", "0", > > > - "0", "0", "1"; > > > + "0", "0", "-1"; > > > }; > > > > > > cam1: camera@3e { > > > -- > > > 2.45.2 > > > > > > > CC: Aaro Koskinen <aaro.koskinen@xxxxxx>, Andreas Kemnade > > <andreas@xxxxxxxxxxxx> > > > I would expect it to be a rotation matrix but it is not. So maybe this > should be fixed in,the driver? The mount matrix is documented in the kernel docs [1], and this patch implements the suggestion that the z-axis should "be negative under the screen and positive in front of it, toward the face of the user." On the N900, the accelerometer is mounted such that the raw z-values are opposite to the specification in the kernel docs. The driver itself seems to be correct, and is used on a number of other boards (such as Motorola Droid 4), reporting expected values when used in conjuction with mount matrices. There is not a lot of userspace that uses accelerometer z-axis information, hence I could not perform thorough testing for the z-values when I submitted 14a213dcb004 ("ARM: dts: n900: use iio driver for accelerometer"). The error became evident when Maemo Leste gained support for face up and face down device states [2]. With the patch in this thread, userspace reports correct face up/down information. I hope I have not misunderstood your reply, and please let me know if I am missing something. Sicelo A. Mhlongo [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/iio/mount-matrix.txt#n31 [2] https://github.com/maemo-leste/mce/commit/0dac5a7e4286b5e9a4dafc627c49cef8cc92f092