i2c: i801: Add support for Intel Jasper Lake
authorJarkko Nikula <jarkko.nikula@linux.intel.com>
Thu, 24 Oct 2019 10:57:25 +0000 (13:57 +0300)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 24 Oct 2019 18:31:23 +0000 (20:31 +0200)
Add support for SMBus controller on Intel Jasper Lake PCH-N.

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.rst
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-i801.c

index 2a570c2..aa4a0e2 100644 (file)
@@ -42,6 +42,7 @@ Supported adapters:
   * Intel Comet Lake (PCH)
   * Intel Elkhart Lake (PCH)
   * Intel Tiger Lake (PCH)
+  * Intel Jasper Lake (PCH)
 
    Datasheets: Publicly available at the Intel website
 
index 146ce40..89cb8d7 100644 (file)
@@ -145,6 +145,7 @@ config I2C_I801
            Comet Lake (PCH)
            Elkhart Lake (PCH)
            Tiger Lake (PCH)
+           Jasper Lake (PCH)
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
index f1c714a..01a29be 100644 (file)
@@ -66,6 +66,7 @@
  * 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
+ * Jasper Lake-N (PCH)         0x4da3  32      hard    yes     yes     yes
  *
  * Features supported by this driver:
  * Software PEC                                no
 #define PCI_DEVICE_ID_INTEL_ICELAKE_LP_SMBUS           0x34a3
 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS                0x3b30
 #define PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS         0x4b23
+#define PCI_DEVICE_ID_INTEL_JASPER_LAKE_N_SMBUS                0x4da3
 #define PCI_DEVICE_ID_INTEL_BROXTON_SMBUS              0x5ad4
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS            0x8c22
 #define PCI_DEVICE_ID_INTEL_WILDCATPOINT_SMBUS         0x8ca2
@@ -1071,6 +1073,7 @@ static const struct pci_device_id i801_ids[] = {
        { 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) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_JASPER_LAKE_N_SMBUS) },
        { 0, }
 };
 
@@ -1752,6 +1755,7 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
        case PCI_DEVICE_ID_INTEL_COMETLAKE_SMBUS:
        case PCI_DEVICE_ID_INTEL_ELKHART_LAKE_SMBUS:
        case PCI_DEVICE_ID_INTEL_TIGERLAKE_LP_SMBUS:
+       case PCI_DEVICE_ID_INTEL_JASPER_LAKE_N_SMBUS:
                priv->features |= FEATURE_BLOCK_PROC;
                priv->features |= FEATURE_I2C_BLOCK_READ;
                priv->features |= FEATURE_IRQ;