drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 1 + 1 file changed, 1 insertion(+)
The SHIFT13mi or SHIFTbook tablet device by the German manufacturer
SHIFT contains an STM LSM6DSO IMU declared in the DSDT with the
hardware ID SMOCF00. Add this ID to the ACPI match table so that the
driver binds correctly to this device.
WHO_AM_I register returns 0x6c, confirming LSM6DSO.
Signed-off-by: Milan Misic <twoexem@gmail.com>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
index 7c9332180..b2a7c2eaf 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
@@ -144,6 +144,7 @@ MODULE_DEVICE_TABLE(of, st_lsm6dsx_i2c_of_match);
static const struct acpi_device_id st_lsm6dsx_i2c_acpi_match[] = {
{ "SMO8B30", ST_LSM6DS3TRC_ID, },
+ { "SMOCF00", ST_LSM6DSO_ID, },
{ }
};
MODULE_DEVICE_TABLE(acpi, st_lsm6dsx_i2c_acpi_match);
--
2.53.0
On Tue, Mar 24, 2026 at 08:36:26PM +0100, Milan Misic wrote: > The SHIFT13mi or SHIFTbook tablet device by the German manufacturer > SHIFT contains an STM LSM6DSO IMU declared in the DSDT with the > hardware ID SMOCF00. Add this ID to the ACPI match table so that the > driver binds correctly to this device. > > WHO_AM_I register returns 0x6c, confirming LSM6DSO. Based on the provided information, Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> -- With Best Regards, Andy Shevchenko
On Thu, 26 Mar 2026 12:02:14 +0200 Andy Shevchenko <andriy.shevchenko@intel.com> wrote: > On Tue, Mar 24, 2026 at 08:36:26PM +0100, Milan Misic wrote: > > The SHIFT13mi or SHIFTbook tablet device by the German manufacturer > > SHIFT contains an STM LSM6DSO IMU declared in the DSDT with the > > hardware ID SMOCF00. Add this ID to the ACPI match table so that the > > driver binds correctly to this device. > > > > WHO_AM_I register returns 0x6c, confirming LSM6DSO. > > Based on the provided information, > Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> > Applied.
On Tue, Mar 24, 2026 at 08:36:26PM +0100, Milan Misic wrote: > The SHIFT13mi or SHIFTbook tablet device by the German manufacturer > SHIFT contains an STM LSM6DSO IMU declared in the DSDT with the > hardware ID SMOCF00. Add this ID to the ACPI match table so that the > driver binds correctly to this device. > > WHO_AM_I register returns 0x6c, confirming LSM6DSO. Please, for the record also reply with the DSDT excerpt of the device in question, so we will see how it's defined in ACPI. -- With Best Regards, Andy Shevchenko
On 3/25/26 12:56, Andy Shevchenko wrote:
> Please, for the record also reply with the DSDT excerpt of the device in
> question, so we will see how it's defined in ACPI.
Hi Andy,
Here's the device's DSDT excerpt:
Device (GYRO)
{
Name (_ADR, Zero) // _ADR: Address
Name (_HID, "SMOCF00") // _HID: Hardware ID
Name (_CID, "SMOCF00") // _CID: Compatible ID
Name (_DDN, "Gyroscope") // _DDN: DOS Device Name
Name (_UID, One) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource
Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006B, ControllerInitiated,
0x00061A80,
AddressingMode7Bit, "\\_SB.PC00.I2C0",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04) // Vendor Data
{
0x53, 0x4F, 0x41, 0x30
})
I2cSerialBusV2 (0x006B, ControllerInitiated,
0x00061A80,
AddressingMode7Bit, "\\_SB.PC00.I2C0",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04) // Vendor Data
{
0x53, 0x4F, 0x47, 0x30
})
})
Return (RBUF) /* \_SB_.PC00.I2C0.GYRO._CRS.RBUF */
}
Method (SOA0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"1 0 0",
"0 -1 0",
"0 0 1"
})
Return (RBUF) /* \_SB_.PC00.I2C0.GYRO.SOA0.RBUF */
}
Method (SOG0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"0 1 0",
"-1 0 0",
"0 0 -1"
})
Return (RBUF) /* \_SB_.PC00.I2C0.GYRO.SOG0.RBUF */
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
}
Best Regards,
Milan Misic
On Wed, Mar 25, 2026 at 01:23:20PM +0100, Milan Mišić wrote: > On 3/25/26 12:56, Andy Shevchenko wrote: > > Please, for the record also reply with the DSDT excerpt of the device in > > question, so we will see how it's defined in ACPI. > > Hi Andy, > Here's the device's DSDT excerpt: Thanks. Interestingly it has accelerometer and gyroscope described there. Is the other part already supported? -- With Best Regards, Andy Shevchenko
On 3/25/26 13:28, Andy Shevchenko wrote: > Interestingly it has accelerometer and gyroscope described there. > Is the other part already supported? Hi Andy, The accelerometer is supported. Checking iio devices: $ cat /sys/bus/iio/devices/iio:device*/name i2c-CPLM3218:00 lsm6dso_gyro lsm6dso_accel Both the gyroscope and accelerometer are shown and recognised. Best regards, Milan Misic
On Wed, Mar 25, 2026 at 01:39:42PM +0100, Milan Mišić wrote: > On 3/25/26 13:28, Andy Shevchenko wrote: > > Interestingly it has accelerometer and gyroscope described there. > > Is the other part already supported? > > Hi Andy, > The accelerometer is supported. Checking iio devices: > > $ cat /sys/bus/iio/devices/iio:device*/name > > i2c-CPLM3218:00 > lsm6dso_gyro > lsm6dso_accel > > Both the gyroscope and accelerometer are shown and recognised. Hmm... But it has different HID? Can you also cut'n'paste that device description from DSDT? -- With Best Regards, Andy Shevchenko
On 3/25/26 15:10, Andy Shevchenko wrote: > Hmm... But it has different HID? Can you also cut'n'paste that > device description from DSDT? Hi Andy, the LSM6DSO is a combined unit that only has one hardware ID. The DSDT only has the GYRO node, there is no separate node for the accelerometer. The only other node besides GYRO in that DSDT section is for the ambient light sensor. Best regards, Milan Misic
On Wed, Mar 25, 2026 at 03:22:55PM +0100, Milan Mišić wrote: > On 3/25/26 15:10, Andy Shevchenko wrote: > > Hmm... But it has different HID? Can you also cut'n'paste that > > device description from DSDT? > > the LSM6DSO is a combined unit that only has one hardware ID. The DSDT only > has the GYRO node, there is no separate node for the accelerometer. The only > other node besides GYRO in that DSDT section is for the ambient light > sensor. Ah, right, the third one there is probably touchscreen or touchpad wit the HID CPLM3218. -- With Best Regards, Andy Shevchenko
On 3/26/26 09:31, Andy Shevchenko wrote: >> the LSM6DSO is a combined unit that only has one hardware ID. The DSDT only >> has the GYRO node, there is no separate node for the accelerometer. The only >> other node besides GYRO in that DSDT section is for the ambient light >> sensor. > > Ah, right, the third one there is probably touchscreen or touchpad wit > the HID CPLM3218. Hi Andy, The CPLM3218 corresponds to the device's Capella Micro CM3218x ambient light sensor. It is fully functional. Best regards, Milan Misic
© 2016 - 2026 Red Hat, Inc.