Re: [PATCH] iio: imu: bmi270: Match ACPI ID found on newer GPD firmware

From: Cryolitia PukNgae
Date: Wed Jul 30 2025 - 06:18:37 EST




在 2025/2/8 21:30, Jonathan Cameron 写道:
On Thu, 06 Feb 2025 15:09:42 +0800
Cryolitia PukNgae via B4 Relay <devnull+Cryolitia.gmail.com@xxxxxxxxxx> wrote:

From: Cryolitia PukNgae <Cryolitia@xxxxxxxxx>

Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.

---

This --- will break git picking up this patch as the
sign off etc will be misgin.



Sorry for that, Reported to https://bugzilla.kernel.org/show_bug.cgi?id=219412

Some GPD devices ship a buggy firmware that describes on-device BMI260 with ACPI ID "BMI0160". Since this is fixed in BIOS update v0.40[1], let's match the correct ID to detect the device. The buggy ID "BMI0160" is kept as well to maintain compatibility with older firmwares.
Please wrap commit message at 75 chars

Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip
Link is an official tag so move down to the line above (no blank line) the
Sign off and if you want to refer to it use
Link: http://download.softwincn.com/WIN%20Max%202024/Max2-7840-BIOS-V0.41.zip # [1]
or similar (so a comment after the tag).


If you have any means to tell the manufacturer that this is not a complaint ID
please do. They need to allocate them from their own ID space.
They are unlikely to be the Benson Medical Instruments company.
https://uefi.org/PNP_ID_List?pnp_search=BMI

So either GPD need to get their on PNP ID (or ACPI ID) or they need
to ask Bosch (BSG) to issue an ID for this sensor.

It would really help if Windows stopped accepting drivers that made up these
IDs, but I guess that ship long sailed.

Jonathan


The Windows driver for Bosch's gravity sensor BMI 260 is developed and signed by Bosch, and uses the ID BMI0260[1]. All devices using this hardware use the same driver, including GPD Win Max 2023 and newer devices, and OrangePi NEO. The ID of BMI0260 is assigned by Bosch itself, and GPD simply follows Bosch's driver rather than assigning it itself. From the name, using this ACPI ID is also the most intuitive.

Some projects such as Handheld Daemon[2] and distributions such as Manjaro[3] have already adopted the patch that includes the ACPI ID BMI0260.

I will send a new patch later that fixes the above issues.

1. https://treexy.com/products/driver-fusion/database/sensors/bosch/accelerometer/
2. https://github.com/hhd-dev/bmi260/blob/main/bmi260_i2c.c
3. https://gitlab.manjaro.org/packages/core/linux612-rt/-/blob/master/0001-iio_imu_Add_driver_for_Bosch_BMI260_IMU.patch

------
I am Cryolitia <cryolitia@xxxxxxxxx> that previously sending the patch.
Due to work, I changed my email address. GPG can verify it's the same
person:
https://keyserver.ubuntu.com/pks/lookup?op=vindex&search=0x84dd0c0130a54df7
------


Best wishes,
Cryolitia PukNgae


[1]. See the update nodes in the archive file above

Signed-off-by: Cryolitia PukNgae <Cryolitia@xxxxxxxxx>
---
drivers/iio/imu/bmi270/bmi270_i2c.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/iio/imu/bmi270/bmi270_i2c.c b/drivers/iio/imu/bmi270/bmi270_i2c.c
index 44699ab589097eaa0eec5f2172245496ed031185..f66ae01e301df24f1e563e059da8cc531fc173eb 100644
--- a/drivers/iio/imu/bmi270/bmi270_i2c.c
+++ b/drivers/iio/imu/bmi270/bmi270_i2c.c
@@ -40,6 +40,8 @@ static const struct i2c_device_id bmi270_i2c_id[] = {
static const struct acpi_device_id bmi270_acpi_match[] = {
/* GPD Win Mini, Aya Neo AIR Pro, OXP Mini Pro, etc. */
{ "BMI0160", (kernel_ulong_t)&bmi260_chip_info },
+ /* GPD Win Max 2 2023(sincice BIOS v0.40), etc. */

since

+ { "BMI0260", (kernel_ulong_t)&bmi260_chip_info },
{ }
};

---
base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04
change-id: 20250206-bmi270-gpd-acpi-de4d12bce567

Best regards,