[PATCH v4 0/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 (Minisforum V3 / V3 SE)
From: Jared Wuerzburger
Date: Mon Sep 28 2026 - 14:05:09 EST
Hi,
This adds the SMOCF05 ACPI ID used by the Minisforum V3 and V3 SE
tablets for their LSM6DS3TR-C, picking up Samuel's series [1][2].
Without it the accelerometer and gyroscope are missing unless the user
carries a DSDT override [3].
Changes since v3 [4]:
- 1/2: convert the ACPI match table to C99 initializers instead of
only dropping the trailing commas (Andy).
- 2/2: explain in the changelog why the firmware's SLA0 matrix is not
used and the orientation comes from hwdb (Andy); drop the pointer
to the cover letter (Andy); Link: -> Closes: (Andy).
- Assisted-by: LLM (Andy).
A correction to the v3 cover letter: SLA0 applied via hwdb gives correct
rotation but inverted tilt (it follows the Windows convention, see 2/2).
The correct matrix is -1 0 0; 0 -1 0; 0 0 1. The systemd hwdb entry [5]
was merged with SLA0 and has since been fixed [6].
The full STS device from the V3 BIOS (1.06), identical on the V3 SE:
Device (STS)
{
Name (_HID, EisaId ("SMOCF05"))
Name (_CID, EisaId ("SMOCF05"))
Name (_UID, Zero)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_CRS, 0, NotSerialized)
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CD",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x41, 0x30
})
I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CD",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x47, 0x30
})
GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x41, 0x30
})
{
0x0009
}
})
Return (RBUF) /* \_SB_.I2CD.STS_._CRS.RBUF */
}
Method (SLA0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"-1 0 0",
"0 -1 0",
"0 0 -1"
})
Return (RBUF) /* \_SB_.I2CD.STS_.SLA0.RBUF */
}
Method (SLG0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"1 0 0",
"0 1 0",
"0 0 1"
})
Return (RBUF) /* \_SB_.I2CD.STS_.SLG0.RBUF */
}
}
Thanks to Samuel for the original series and to Andy for the reviews.
[1] v1: https://lore.kernel.org/linux-iio/20251223025351.3099978-2-samuel@xxxxxxxxxxxxxxx/
[2] v2: https://lore.kernel.org/linux-iio/20260201225450.1649001-2-samuel@xxxxxxxxxxxxxxx/
[3] https://github.com/mudkipme/awesome-minisforum-v3/issues/2
[4] v3: https://lore.kernel.org/linux-iio/20260927220559.24169-1-jwuerz@xxxxxxxxx/
[5] https://github.com/systemd/systemd/pull/43935
[6] https://github.com/systemd/systemd/pull/43941
Jared Wuerzburger (1):
iio: imu: st_lsm6dsx: Use C99 initializers in ACPI match table
Samuel Dionne-Riel (1):
iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
base-commit: a3b3580713f3ac5a32dc2874ee546828977a1d68
--
2.55.0