Re: [PATCH v4 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
From: Andy Shevchenko
Date: Mon Sep 28 2026 - 14:17:39 EST
On Mon, Sep 28, 2026 at 8:52 PM Jared Wuerzburger <jwuerz@xxxxxxxxx> wrote:
>
> From: Samuel Dionne-Riel <samuel@xxxxxxxxxxxxxxx>
>
> The Minisforum V3 and V3 SE tablets declare their ST LSM6DS3TR-C IMU in
> the DSDT with the hardware ID SMOCF05 instead of SMO8B30, so the driver
> never binds and the accelerometer and gyroscope are missing. The
> Windows driver (version 1.0.4.3) binds the LSM6DS3TR-C to both IDs.
> Relevant part of the DSDT, identical on both models:
>
> Scope (_SB.I2CD) { Device (STS) {
> Name (_HID, EisaId ("SMOCF05"))
> Name (_CID, EisaId ("SMOCF05"))
> _CRS: I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLA0"
> I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLG0"
> GpioInt (Edge, ActiveHigh, ..., "\\_SB.GPIO") { 9 } "SLA0"
> Method (SLA0): "-1 0 0", "0 -1 0", "0 0 -1"
> Method (SLG0): "1 0 0", "0 1 0", "0 0 1"
> } }
Drop this paragraph completely, that's what the cover letter already
carried out.
> Both I2C resources describe the same address; the I2C core uses the
> first one.
>
> The vendor-specific SLA0/SLG0 methods are not parsed, because SLA0 is
> not usable as a mount matrix as it is. Its X and Y signs are right, but
> it also negates Z. It follows the Windows sensor convention, which
> reports Z = -1g with the screen facing up, while iio-sensor-proxy uses
> the same X and Y signs but expects Z = +1g in that posture. Applied as
> a mount matrix, SLA0 gives correct screen rotation, but iio-sensor-proxy
> reports the tilt inverted. The actual mounting is a plain 180 degree
> rotation about Z (-1 0 0; 0 -1 0; 0 0 1), with which orientation and
> tilt are both right. As for SMOCF00, the matrix is therefore provided
> by the systemd hwdb instead.
>
> Tested on:
> - V3 SE (Ryzen 7 7735U, BIOS 1.03) with this change.
> - V3 (Ryzen 7 8840U, BIOS 1.06), kernel 7.2.7, with this change and
> the stock firmware tables. The driver binds to i2c-SMOCF05:00, the
> WHO_AM_I check passes (0x6a), and both lsm6ds3tr-c_accel and
> lsm6ds3tr-c_gyro are registered. Screen auto-rotation and tilt work
> with iio-sensor-proxy and the matrix above (checked with the device
> renamed to SMO8B30 via a DSDT override, i.e. the same
> ST_LSM6DS3TRC_ID driver data).
>
> Closes: https://github.com/mudkipme/awesome-minisforum-v3/issues/2
> Signed-off-by: Samuel Dionne-Riel <samuel@xxxxxxxxxxxxxxx>
> [Jared Wuerzburger: rewrote
> the changelog with the DSDT excerpt,
This will be dropped :-)
> test results and mount matrix rationale,
> converted the entry to C99 initializers,
Not sure if it's important enough to be mentioned, but up to you as
it's indeed what was done with the change.
> dropped the mount matrix patch]
> Assisted-by: LLM
> Signed-off-by: Jared Wuerzburger <jwuerz@xxxxxxxxx>
> ---
>
> Notes:
> Jonathan, when applying, could you add a Link: to this series? The
> cover letter has the full DSDT excerpt, too long for the changelog.
...or even use `b4 shazam -M ...`
So, with the DSDT excerpt dropped from the commit message (and the
respective update in the tag block) feel free to add
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
--
With Best Regards,
Andy Shevchenko