RE: [PATCH v2 0/2] i2c:dw: Add APM X-Gene ACPI I2C device support

Zheng, Ivan
2015-12-23T10:02:04Z

Why/how can Linux driver make use of such non-ACPI defined methods?

Thanks,
Ivan

-----Original Message-----
From: Mika Westerberg [mailto:mika.westerberg@linux.intel.com]
Sent: Wednesday, December 23, 2015 17:53
To: Xue, Ken
Cc: wsa@the-dreams.de; Suthikulpanit, Suravee; Loc Ho; rjw@rjwysocki.net; lenb@kernel.org; linux-i2c@vger.kernel.org; linux-acpi@vger.kernel.org; linux-arm-kernel@lists.infradead.org; jcm@redhat.com; patches@apm.com; Hurwitz, Sherry; Duran, Leo; Hanjun Guo; Al Stone; Zheng, Ivan; Yu, Xiangliang
Subject: Re: [PATCH v2 0/2] i2c:dw: Add APM X-Gene ACPI I2C device support

On Wed, Dec 23, 2015 at 05:34:01PM +0800, Ken Xue wrote:
> 1) Regarding
> https://msdn.microsoft.com/en-us/library/windows/hardware/dn919852(v=v
> s.85).aspx , Window I2C driver should pass MITT test. There are 5 I2C
> devices connect to one I2C bus for test. And those devices defined
> different "ConnectionSpeed" over the I2C bus by ACPI resource
> "I2CSerialBus".
>
> During test, I2C bus should run in different "ConnectionSpeed" of
> device.
>
> That means windows driver can modify I2C bus speed to match the
> "ConnectionSpeed" of device on-the-fly. Static value from SSCN and
> FMCN can not work for WITT test cases.

That is why there are *CNT methods for all supported I2C modes:

- SSCN() - returns for standard mode (100kHz)
- FMCN() - returns for fast mode (400kHz)
- FPCN() - returns for fast mode+ (1MHz)

for High-speed mode I'm not sure what the method name is ;-)

Then the Windows driver switches between those based on what the ConnectionSpeed is in the ACPI I2C connector.