Re: [PATCH v4] iio: imu: bmi270: Match PNP ID found on newer GPD firmware
From: Andy Shevchenko
Date: Thu Aug 21 2025 - 04:12:40 EST
On Thu, Aug 21, 2025 at 10:52 AM Cryolitia PukNgae via B4 Relay
<devnull+cryolitia.uniontech.com@xxxxxxxxxx> wrote:
>
> From: Cryolitia PukNgae <cryolitia@xxxxxxxxxxxxx>
>
> GPD devices originally used BMI160 sensors with the "BMI0160" PNP ID.
> When they switched to BMI260 sensors in newer hardware, they reused
> the existing Windows driver which accepts both "BMI0160" and "BMI0260"
> IDs. Consequently, they kept "BMI0160" in DSDT tables for new BMI260
> devices, causing driver mismatches in Linux.
>
> 1. GPD updated BIOS v0.40+[1] for newer devices to report "BMI0260" for
> BMI260 sensors to avoid loading the bmi160 driver on Linux. While this
> isn't Bosch's VID;
> 2. Bosch's official Windows driver uses "BMI0260" as a compatible ID
> 3. We're seeing real devices shipping with "BMI0260" in DSDT
>
> The DSDT excerpt of GPD G1619-04 with BIOS v0.40:
>
> Scope (_SB.I2CC)
> {
> Device (BMA2)
> {
> Name (_ADR, Zero) // _ADR: Address
> Name (_HID, "BMI0260") // _HID: Hardware ID
> Name (_CID, "BMI0260") // _CID: Compatible ID
> Name (_DDN, "Accelerometer") // _DDN: DOS Device Name
> Name (_UID, One) // _UID: Unique ID
> Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
> {
> Name (RBUF, ResourceTemplate ()
> {
> I2cSerialBusV2 (0x0069, ControllerInitiated, 0x00061A80,
> AddressingMode7Bit, "\\_SB.I2CC",
> 0x00, ResourceConsumer, , Exclusive,
> )
> })
> Return (RBUF) /* \_SB_.I2CC.BMA2._CRS.RBUF */
> }
> # omit some noise
> }
> }
Reviewed-by: Andy Shevchenko <andy@xxxxxxxxxx>
--
With Best Regards,
Andy Shevchenko