i2c: i801: Add support for Intel Tiger Lake
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Mon, 1 Jul 2019 13:15:34 +0000 (16:15 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 5 Jul 2019 18:59:10 +0000 (20:59 +0200)
Add SMBUS PCI ID for Intel Tiger Lake -LP.

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 d247edc..04b5de8 100644 (file)
@@ -38,6 +38,7 @@ Supported adapters:
   * Intel Ice Lake (PCH)
   * Intel Comet Lake (PCH)
   * Intel Elkhart Lake (PCH)
+  * Intel Tiger Lake (PCH)
    Datasheets: Publicly available at the Intel website
 
 On Intel Patsburg and later chipsets, both the normal host SMBus controller
index 68b677b..09367fc 100644 (file)
@@ -144,6 +144,7 @@ config I2C_I801
            Ice Lake (PCH)
            Comet Lake (PCH)
            Elkhart Lake (PCH)
+           Tiger Lake (PCH)
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
index dbcafbc..9db1907 100644 (file)
@@ -73,6 +73,7 @@
  * Ice Lake-LP (PCH)           0x34a3  32      hard    yes     yes     yes
  * Comet Lake (PCH)            0x02a3  32      hard    yes     yes     yes
  * Elkhart Lake (PCH)          0x4b23  32      hard    yes     yes     yes
+ * Tiger Lake-LP (PCH)         0xa0a3  32      hard    yes     yes     yes
  *
  * Features supported by this driver:
  * Software PEC                                no
 #define PCI_DEVICE_ID_INTEL_WILDCATPOINT_LP_SMBUS      0x9ca2
 #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_SMBUS      0x9d23
 #define PCI_DEVICE_ID_INTEL_CANNONLAKE_LP_SMBUS                0x9da3
+#define PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS         0xa0a3
 #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_SMBUS       0xa123
 #define PCI_DEVICE_ID_INTEL_LEWISBURG_SMBUS            0xa1a3
 #define PCI_DEVICE_ID_INTEL_LEWISBURG_SSKU_SMBUS       0xa223
@@ -1075,6 +1077,7 @@ static const struct pci_device_id i801_ids[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COMETLAKE_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS) },
        { 0, }
 };
 
@@ -1710,6 +1713,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
        case PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS:
        case PCI_DEVICE_ID_INTEL_COMETLAKE_SMBUS:
        case PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS:
+       case PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS:
                priv->features |= FEATURE_BLOCK_PROC;
                priv->features |= FEATURE_I2C_BLOCK_READ;
                priv->features |= FEATURE_IRQ;