Re: [BUG] i2c-hid: ELAN Touchpad does not work on ASUS X580GD

From: Chris Chiu
Date: Thu May 10 2018 - 08:03:17 EST


On Tue, May 8, 2018 at 11:47 PM, Daniel Drake <drake@xxxxxxxxxxxx> wrote:
> On Tue, May 8, 2018 at 8:31 AM, Jarkko Nikula
> <jarkko.nikula@xxxxxxxxxxxxxxx> wrote:
>>> Some update, we can make the touchpad work by simply modifying the
>>> clk_rate of spt_i2c_info from 120000000 to 133000000 in intel-lpss-pci.c for
>>> specific PCI ID 8086:a368 ~ a36a (CoffeeLake). Is the clock setting different
>>> for the CoffeeLake series?
>>>
>> Hmm.. at quick look it looks like to be 133 MHz but I want to double check first from other specs. I'm also wondering why it results 600 kHz instead of expected 133/120 * 400 kHz = 443 kHz. Need to check timing parameters too.
>
> Thanks for looking at this. I believe we tried 133MHz just because
> some other platforms in the file have the clock at that speed.
>
> In the original/shipped setup, the scope shows the SDA clock is
> running at ~635kHz (rather than the intended 400kHz) and the debug
> logs from the kernel producing that waveform shows that HCNT=105 and
> LCNT=191
>
> 105+191=296 parent clock ticks per cycle
>
> At 635kHz, a single clock cycle is 1575ns. What is the speed of the
> parent clock if it ticks 296 times in 1575ns? I calculate this to be
> 187960000Hz and further experiments indicate that clk_rate=187960000
> also makes the touchpad work. Unfortunately we don't have easy access
> to the scope to measure the effect on the waveform.
>
> Also through experimentation we tried i2c-sda-falling-time-ns=400ns
> (increasing from the default of 300ns) in order to make the HCNT
> increase to 117. This also makes the touchpad work.
>

Report from guys who can access scope. If i2c-sda-falling-time-ns=400ns
, HCNT increase to 117, the SCL high duration is 576ns as follows
https://pasteboard.co/HkwERvP.png

The original SCL high duration (HCNT = 105, 120MHz) is as follows
https://pasteboard.co/HkwFxgY.png

So the HCNT does affect but per this HCNT/LCNT value, just not 400kHz
as expected. Any suggestion?

> Please let us know if we can help further in finding an upstream fix
> for this issue.
>
> Thanks
> Daniel