linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] Force I2C bus freq to 100KHz for ELAN06FA touchpad
@ 2025-01-03  5:16 Randolph Ha
  2025-01-03  5:16 ` [PATCH 1/1] Force ELAN06FA touchpad I2C bus freq to 100KHz Randolph Ha
  0 siblings, 1 reply; 24+ messages in thread
From: Randolph Ha @ 2025-01-03  5:16 UTC (permalink / raw)
  To: mika.westerberg, wsa+renesas, linux-i2c, linux-acpi; +Cc: trivial, Randolph Ha

In my device (Lenovo V15 G4 IRU) it appears that, even with the latest
BIOS update, the ACPI tables do not specify that the ELAN06FA touchpad
only works properly at a 100KHz I2C frequency, with other frequencies
causing excessive smoothing to be applied intermittently. On some
busses (designware-i2c), the default frequency is 400KHz.

This smoothing causes the touchpad to be unusable under Linux, and the
support request I filed with Lenovo was ignored. After adding a device
ID check to force the frequency to 100KHz for this touchpad, the
excessive smoothing disappears. As a similar patch was previously
accepted for the Silead MSSL1680 touchscreen in [1], I hope this patch
can be added into the kernel as well.

Additional Notes:
1. I speculate that this issue was caused by the touchpad firmware
interpreting the higher clock frequency as noise, since the smoothing
effect is similar to that caused by using a noisy third-party charger.
2. Based on the coil whine emitted by my laptop, it appears as though
the driver is ran at 100KHz under Windows by default as well, so I
believe this is the fix, not a workaround.
3. This fix should also apply to the Lenovo V15 G4 AMN and the Ideapad
Slim 3 15IAH8, but I do not have the devices to confirm.

[1]: Commit 7574c0db2e68c ("i2c: acpi: Force bus speed to 400KHz if a
Silead touchscreen is present")

Randolph Ha (1):
  Force ELAN06FA touchpad I2C bus freq to 100KHz

 drivers/i2c/i2c-core-acpi.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

-- 
2.47.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2025-01-15 19:39 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-03  5:16 [PATCH 0/1] Force I2C bus freq to 100KHz for ELAN06FA touchpad Randolph Ha
2025-01-03  5:16 ` [PATCH 1/1] Force ELAN06FA touchpad I2C bus freq to 100KHz Randolph Ha
2025-01-03  9:33   ` Mika Westerberg
2025-01-03 23:46     ` R Ha
2025-01-05  8:33       ` Mika Westerberg
2025-01-06  1:28         ` [PATCH] " Randolph Ha
2025-01-06  9:00         ` [PATCH 1/1] " R Ha
2025-01-07  7:27           ` Mika Westerberg
2025-01-07 12:16             ` R Ha
2025-01-08  5:51               ` Mika Westerberg
2025-01-08  9:29                 ` R Ha
2025-01-09 11:19                   ` Mika Westerberg
2025-01-10  8:31                     ` R Ha
2025-01-10 11:26                       ` Mika Westerberg
2025-01-10 11:45                         ` Jarkko Nikula
2025-01-10 12:07                           ` Mika Westerberg
2025-01-11 15:57                             ` [PATCH] " Randolph Ha
2025-01-13  6:48                               ` Mika Westerberg
2025-01-13 19:52                                 ` Randolph Ha
2025-01-14 11:58                                   ` Wolfram Sang
2025-01-15 19:39                                     ` R Ha
2025-01-11 16:05                             ` [PATCH 1/1] " R Ha
2025-01-13  6:49                               ` Mika Westerberg
2025-01-06  9:08         ` R Ha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).