i2c: i801: Add Device IDs for Intel Wellsburg PCH
authorJames Ralston <james.d.ralston@intel.com>
Thu, 14 Feb 2013 09:15:33 +0000 (09:15 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 Jan 2016 21:40:11 +0000 (21:40 +0000)
commit a3fc0ff00a46c4b32e7214961a5be9a1dc39b60e upstream.

This patch adds the SMBus Device IDs for the Intel Wellsburg PCH

Signed-off-by: James Ralston <james.d.ralston@intel.com>
Reviewed-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Wolfram Sang <wolfram@the-dreams.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Documentation/i2c/busses/i2c-i801
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-i801.c

index 8bb57d7..ee65eb9 100644 (file)
@@ -23,6 +23,7 @@ Supported adapters:
   * Intel Lynx Point (PCH)
   * Intel Lynx Point-LP (PCH)
   * Intel Avoton (SOC)
   * Intel Lynx Point (PCH)
   * Intel Lynx Point-LP (PCH)
   * Intel Avoton (SOC)
+  * Intel Wellsburg (PCH)
    Datasheets: Publicly available at the Intel website
 
 On Intel Patsburg and later chipsets, both the normal host SMBus controller
    Datasheets: Publicly available at the Intel website
 
 On Intel Patsburg and later chipsets, both the normal host SMBus controller
index 06a18ed..741abbc 100644 (file)
@@ -106,6 +106,7 @@ config I2C_I801
            Lynx Point (PCH)
            Lynx Point-LP (PCH)
            Avoton (SOC)
            Lynx Point (PCH)
            Lynx Point-LP (PCH)
            Avoton (SOC)
+           Wellsburg (PCH)
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-i801.
index 150d74c..d44a4f9 100644 (file)
   Lynx Point (PCH)      0x8c22     32     hard     yes     yes     yes
   Lynx Point-LP (PCH)   0x9c22     32     hard     yes     yes     yes
   Avoton (SOC)          0x1f3c     32     hard     yes     yes     yes
   Lynx Point (PCH)      0x8c22     32     hard     yes     yes     yes
   Lynx Point-LP (PCH)   0x9c22     32     hard     yes     yes     yes
   Avoton (SOC)          0x1f3c     32     hard     yes     yes     yes
+  Wellsburg (PCH)       0x8d22     32     hard     yes     yes     yes
+  Wellsburg (PCH) MS    0x8d7d     32     hard     yes     yes     yes
+  Wellsburg (PCH) MS    0x8d7e     32     hard     yes     yes     yes
+  Wellsburg (PCH) MS    0x8d7f     32     hard     yes     yes     yes
 
   Features supported by this driver:
   Software PEC                     no
 
   Features supported by this driver:
   Software PEC                     no
 #define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS     0x2330
 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS        0x3b30
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS    0x8c22
 #define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS     0x2330
 #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS        0x3b30
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS    0x8c22
+#define PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS    0x8d22
+#define PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS0        0x8d7d
+#define PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS1        0x8d7e
+#define PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS2        0x8d7f
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS 0x9c22
 
 struct i801_priv {
 #define PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS 0x9c22
 
 struct i801_priv {
@@ -642,6 +650,10 @@ static const struct pci_device_id i801_ids[] = {
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_AVOTON_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNXPOINT_LP_SMBUS) },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_AVOTON_SMBUS) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS0) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS1) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS2) },
        { 0, }
 };
 
        { 0, }
 };
 
@@ -789,6 +801,9 @@ static int __devinit i801_probe(struct pci_dev *dev,
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0:
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1:
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2:
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0:
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1:
        case PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2:
+       case PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS0:
+       case PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS1:
+       case PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS2:
                priv->features |= FEATURE_IDF;
                /* fall through */
        default:
                priv->features |= FEATURE_IDF;
                /* fall through */
        default: