[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251223025351.3099978-4-samuel@dionne-riel.com>
Date: Mon, 22 Dec 2025 21:53:51 -0500
From: Samuel Dionne-Riel <samuel@...nne-riel.com>
To: Lorenzo Bianconi <lorenzo@...nel.org>,
Jonathan Cameron <jic23@...nel.org>,
David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>
Cc: Samuel Dionne-Riel <samuel@...nne-riel.com>,
linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 2/2] iio: imu: lsm6dsx: Add alternative ACPI mount matrix retrieval
This uses the SLA0 matrix, which is how the SMOCF05 configuration
exposes the mounting information for the accelerometer.
On a limited sample size of one (1) unit, the SLG0 matrix is the
identity matrix. It is unknown how the SLG0 mounting matrix would
logically affect the data, if it differed from the identity matrix.
After all, the IMU is mounted as one single unit, its mounting can't
differ on the gyroscope compared to the accelerometer.
Signed-off-by: Samuel Dionne-Riel <samuel@...nne-riel.com>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
index 49ac17806e720..4bf1f7f7552d1 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
@@ -2707,6 +2707,12 @@ int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,
return err;
}
+ if (!iio_read_acpi_mount_matrix(hw->dev, &hw->orientation, "SLA0")) {
+ err = iio_read_mount_matrix(hw->dev, &hw->orientation);
+ if (err)
+ return err;
+ }
+
for (i = 0; i < ST_LSM6DSX_ID_MAX; i++) {
if (!hw->iio_devs[i])
continue;
--
2.51.0
Powered by blists - more mailing lists