]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
mfd: intel-lpss: Fix Intel Cannon Lake LPSS I2C input clock
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 30 Aug 2018 03:54:00 +0000 (05:54 +0200)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 5 Sep 2018 08:30:45 +0000 (10:30 +0200)
commit10111a91ce51b0eafc9484a5a829aa49375fb619
tree8e9d31b593d1b5cd7efc8b7710380838286f8457
parent32e2ee8654b854fbbe88f1ba02c311db82d5398b
mfd: intel-lpss: Fix Intel Cannon Lake LPSS I2C input clock

BugLink: https://bugs.launchpad.net/bugs/1789790
Intel Cannon Lake PCH has much higher 216 MHz input clock to LPSS I2C
than Sunrisepoint which uses 120 MHz. Preliminary information was that
both share the same clock rate but actual silicon implements elevated
rate for better support for 3.4 MHz high-speed I2C.

This incorrect input clock rate results too high I2C bus clock in case
ACPI doesn't provide tuned I2C timing parameters since I2C host
controller driver calculates them from input clock rate.

Fix this by using the correct rate. We still share the same 230 ns SDA
hold time value than Sunrisepoint.

Cc: stable@vger.kernel.org
Fixes: b418bbff36dd ("mfd: intel-lpss: Add Intel Cannonlake PCI IDs")
Reported-by: Jian-Hong Pan <jian-hong@endlessm.com>
Reported-by: Chris Chiu <chiu@endlessm.com>
Reported-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
(cherry picked from commit 4e93a658576ab115977225c9d0992b97ff19ba8c)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Acked-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/mfd/intel-lpss-pci.c