]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
i2c: i801: Add support for Intel Ice Lake
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 28 Jun 2018 13:08:24 +0000 (16:08 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 3 Jul 2018 21:26:44 +0000 (23:26 +0200)
Intel Ice Lake has the same SMBus host controller than Intel Cannon
Lake. Add the PCI ID to the drivers list of supported devices.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
[jarkko.nikula@linux.intel.com: Add entries to Documentation and Kconfig]
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Documentation/i2c/busses/i2c-i801
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-i801.c

index ca396748a10db8b2d47ea09af6a7c3f46dd043a3..d1ee484a787d1b476cf13bcf7d7b53ac084fb63e 100644 (file)
@@ -35,6 +35,7 @@ Supported adapters:
   * Intel Gemini Lake (SOC)
   * Intel Cannon Lake (PCH)
   * Intel Cedar Fork (PCH)
+  * Intel Ice Lake (PCH)
    Datasheets: Publicly available at the Intel website
 
 On Intel Patsburg and later chipsets, both the normal host SMBus controller
index aa19e3e053b18d40db12cc4fa7dc838189e8d223..e7a4d288c8b7d32768bd00faad29048a10e3626a 100644 (file)
@@ -130,6 +130,7 @@ config I2C_I801
            Gemini Lake (SOC)
            Cannon Lake (PCH)
            Cedar Fork (PCH)
+           Ice Lake (PCH)
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
index aa726607645ee6c5cb2565d645a45da71982c306..941c223f64914450fc2e2d76a293cd6202441b0b 100644 (file)
@@ -70,6 +70,7 @@
  * Cannon Lake-H (PCH)         0xa323  32      hard    yes     yes     yes
  * Cannon Lake-LP (PCH)                0x9da3  32      hard    yes     yes     yes
  * Cedar Fork (PCH)            0x18df  32      hard    yes     yes     yes
+ * Ice Lake-LP (PCH)           0x34a3  32      hard    yes     yes     yes
  *
  * Features supported by this driver:
  * Software PEC                                no
 #define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS             0x2330
 #define PCI_DEVICE_ID_INTEL_COLETOCREEK_SMBUS          0x23b0
 #define PCI_DEVICE_ID_INTEL_GEMINILAKE_SMBUS           0x31d4
+#define PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS           0x34a3
 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS                0x3b30
 #define PCI_DEVICE_ID_INTEL_BROXTON_SMBUS              0x5ad4
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS            0x8c22
@@ -1034,6 +1036,7 @@ static const struct pci_device_id i801_ids[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_KABYLAKE_PCH_H_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CANNONLAKE_H_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_CANNONLAKE_LP_SMBUS) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS) },
        { 0, }
 };
 
@@ -1518,6 +1521,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
        case PCI_DEVICE_ID_INTEL_CDF_SMBUS:
        case PCI_DEVICE_ID_INTEL_DNV_SMBUS:
        case PCI_DEVICE_ID_INTEL_KABYLAKE_PCH_H_SMBUS:
+       case PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS:
                priv->features |= FEATURE_I2C_BLOCK_READ;
                priv->features |= FEATURE_IRQ;
                priv->features |= FEATURE_SMBUS_PEC;