mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
Merge pull request #4021 from mglae/le10_linux_i2c
linux: Generic: enable pin control for all Intel systems / add Gemini Lake I2C timing patch
This commit is contained in:
commit
d0f5bf579c
@ -0,0 +1,72 @@
|
||||
From 3f31bc67e4dc6a555341dffefe328ddd58e8b431 Mon Sep 17 00:00:00 2001
|
||||
From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
|
||||
Date: Wed, 4 Sep 2019 08:56:25 +0300
|
||||
Subject: mfd: intel-lpss: Add default I2C device properties for Gemini Lake
|
||||
|
||||
It turned out Intel Gemini Lake doesn't use the same I2C timing
|
||||
parameters as Broxton.
|
||||
|
||||
I got confirmation from the Windows team that Gemini Lake systems should
|
||||
use updated timing parameters that differ from those used in Broxton
|
||||
based systems.
|
||||
|
||||
Fixes: f80e78aa11ad ("mfd: intel-lpss: Add Intel Gemini Lake PCI IDs")
|
||||
Tested-by: Chris Chiu <chiu@endlessm.com>
|
||||
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
|
||||
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
||||
Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
||||
---
|
||||
drivers/mfd/intel-lpss-pci.c | 28 ++++++++++++++++++++--------
|
||||
1 file changed, 20 insertions(+), 8 deletions(-)
|
||||
|
||||
(limited to 'drivers/mfd/intel-lpss-pci.c')
|
||||
|
||||
diff --git a/drivers/mfd/intel-lpss-pci.c b/drivers/mfd/intel-lpss-pci.c
|
||||
index 9355db29d2f9..1767f30a1676 100644
|
||||
--- a/drivers/mfd/intel-lpss-pci.c
|
||||
+++ b/drivers/mfd/intel-lpss-pci.c
|
||||
@@ -122,6 +122,18 @@ static const struct intel_lpss_platform_info apl_i2c_info = {
|
||||
.properties = apl_i2c_properties,
|
||||
};
|
||||
|
||||
+static struct property_entry glk_i2c_properties[] = {
|
||||
+ PROPERTY_ENTRY_U32("i2c-sda-hold-time-ns", 313),
|
||||
+ PROPERTY_ENTRY_U32("i2c-sda-falling-time-ns", 171),
|
||||
+ PROPERTY_ENTRY_U32("i2c-scl-falling-time-ns", 290),
|
||||
+ { },
|
||||
+};
|
||||
+
|
||||
+static const struct intel_lpss_platform_info glk_i2c_info = {
|
||||
+ .clk_rate = 133000000,
|
||||
+ .properties = glk_i2c_properties,
|
||||
+};
|
||||
+
|
||||
static const struct intel_lpss_platform_info cnl_i2c_info = {
|
||||
.clk_rate = 216000000,
|
||||
.properties = spt_i2c_properties,
|
||||
@@ -174,14 +186,14 @@ static const struct pci_device_id intel_lpss_pci_ids[] = {
|
||||
{ PCI_VDEVICE(INTEL, 0x1ac6), (kernel_ulong_t)&bxt_info },
|
||||
{ PCI_VDEVICE(INTEL, 0x1aee), (kernel_ulong_t)&bxt_uart_info },
|
||||
/* GLK */
|
||||
- { PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&bxt_i2c_info },
|
||||
- { PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&bxt_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31ac), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31ae), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31b0), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31b2), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31b4), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31b6), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31b8), (kernel_ulong_t)&glk_i2c_info },
|
||||
+ { PCI_VDEVICE(INTEL, 0x31ba), (kernel_ulong_t)&glk_i2c_info },
|
||||
{ PCI_VDEVICE(INTEL, 0x31bc), (kernel_ulong_t)&bxt_uart_info },
|
||||
{ PCI_VDEVICE(INTEL, 0x31be), (kernel_ulong_t)&bxt_uart_info },
|
||||
{ PCI_VDEVICE(INTEL, 0x31c0), (kernel_ulong_t)&bxt_uart_info },
|
||||
--
|
||||
cgit 1.2-0.3.lf.el7
|
||||
|
@ -2820,14 +2820,15 @@ CONFIG_GENERIC_PINCONF=y
|
||||
# CONFIG_PINCTRL_SX150X is not set
|
||||
CONFIG_PINCTRL_BAYTRAIL=y
|
||||
CONFIG_PINCTRL_CHERRYVIEW=y
|
||||
# CONFIG_PINCTRL_BROXTON is not set
|
||||
# CONFIG_PINCTRL_CANNONLAKE is not set
|
||||
# CONFIG_PINCTRL_CEDARFORK is not set
|
||||
# CONFIG_PINCTRL_DENVERTON is not set
|
||||
# CONFIG_PINCTRL_GEMINILAKE is not set
|
||||
# CONFIG_PINCTRL_ICELAKE is not set
|
||||
# CONFIG_PINCTRL_LEWISBURG is not set
|
||||
# CONFIG_PINCTRL_SUNRISEPOINT is not set
|
||||
CONFIG_PINCTRL_INTEL=y
|
||||
CONFIG_PINCTRL_BROXTON=y
|
||||
CONFIG_PINCTRL_CANNONLAKE=y
|
||||
CONFIG_PINCTRL_CEDARFORK=y
|
||||
CONFIG_PINCTRL_DENVERTON=y
|
||||
CONFIG_PINCTRL_GEMINILAKE=y
|
||||
CONFIG_PINCTRL_ICELAKE=y
|
||||
CONFIG_PINCTRL_LEWISBURG=y
|
||||
CONFIG_PINCTRL_SUNRISEPOINT=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
||||
CONFIG_GPIO_ACPI=y
|
||||
|
Loading…
x
Reference in New Issue
Block a user