I’ve seen the other post about this and I’ve seen the wiki where it says the bus speed is “1Mbps and can’t be changed” however I don’t really think that’s true.
I have 2 of these boards that I picked up planning to use them for something that I wound up not doing. I just dug them up cuz I have something else I really need them for because they have Intel GPIO but the I2C speed is an issue. using A logic analyzer I found the I2C port on the RPI GPIO header actually runs at 400khz. That should have been OK but it’s not. Everything other board I was able to make work with the device I’m working on runs at 100Khz so I’m trying to get it to that speed.
From what I have found, the method used to set the i2c speed at 400Khz is based on a device entry in the ACPI table. I pulled the running ACPI table and decompiled it with iasl and found the device on I2C7:
0x00061A80
is 400khz. From what I understand the Intel controller will limit the bus speed to the lowest device on the bus. So by putting the entry for that touch pad in the ACPI table it effectively sets it to 400Khz. I need to change that to 0x000186A0
or 100Khz, the problem is I can’t find a way to do it. Ive tried several methods of ACPI override on Manjaro and none of them stick, it always falls back to this ACPI table. I could change it in the BIOS update image that is distributed but I can’t find it in the image with UEFItool.
So I think it absolutely can be changed, I just need some idea of how to get a new ACPI table to stick or an altered BIOS image that just changes that device entry to 100Khz. Not sure if Seeed is willing to provide that BIOS mod but I know alot of people have issues with the I2C speed on these things because most “maker” type devices default to 100Khz and everything just works.