ITADN

handheld: GPD Win Mini 2024 gyro not working with ACPI BMI0160/BOSC0160 without legacy BMI260 driver

#146Closedtctinh 创建于 2026-03-16
T
tctinhcommented
The working patches tested on actual GPD Win Mini 2024: https://gist.githubusercontent.com/tctinh/d07e45528f9fb965abc58bc92e886275/raw/ce02fcba236ae0da3c0167843fa102085606439c/gistfile1.txt ## Summary The GPD Win Mini 2024 gyro does not work correctly with the current CachyOS kernel patch stack when the IMU is exposed through ACPI as `BMI0160`/`BOSC0160`. Upstream currently routes `BMI0160` to the `bmi270` I2C driver path for `bmi260_chip_info`, but on this device that is not sufficient. A legacy dedicated BMI260 IIO driver restores the gyro on the GPD Win Mini 2024. ## Affected device - GPD Win Mini 2024 - IMU exposed as `BMI0160` and/or `BOSC0160` ## Current behavior - Gyro is not working without the legacy BMI260 patch - The device is matched through the newer `bmi270` path instead of a dedicated legacy BMI260 driver ## Expected behavior - Gyro should work out of the box on GPD Win Mini 2024 - ACPI `BMI0160`/`BOSC0160` should be handled by a driver path that works on this hardware ## Relevant technical details - Current upstream still maps ACPI `BMI0160` in `drivers/iio/imu/bmi270/bmi270_i2c.c` - Upstream does not ship a `drivers/iio/imu/bmi260-legacy/` driver - A standalone patch based on a legacy BMI260 IIO driver fixes the issue locally ## Version scope - 7.0 series: still relevant as a candidate contribution, because the current kernel code still uses the `bmi270` match path and does not include a legacy BMI260 driver - 6.9 series: the standalone patch is not directly applicable as-is, because upstream 6.9 did not yet carry the same `bmi270` IIO layout; this would need a separate backport instead of reusing the exact same patch ## Proposed direction - Add a versioned handheld/BMI260 legacy patch for maintained CachyOS kernel branches that still need it - Gate the `BMI0160` ACPI match in `bmi270_i2c.c` when `CONFIG_BMI260_LEGACY_I2C` is enabled - Keep `BMI0260` on the existing upstream `bmi270` path ## Extra note I have a standalone patch that adds: - `drivers/iio/imu/bmi260-legacy/` - Kconfig/Makefile hooks under `drivers/iio/imu/` - ACPI IDs `BOSC0160` and `BMI0160` for the legacy driver - a guard in `drivers/iio/imu/bmi270/bmi270_i2c.c` to avoid matching `BMI0160` there when the legacy driver is enabled If this approach is acceptable, I can send a PR rebased into the repo's numbered patch format for the relevant kernel branch.
关闭于 2026-03-17 3 条评论