aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-i801.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2010-10-31 16:07:00 -0400
committerJean Delvare <khali@endymion.delvare>2010-10-31 16:07:00 -0400
commit55fee8d7f7cb011d7f161cf816220ac74e34b6b1 (patch)
treea79b1cd5c7e27cebdbac6524cf7dab4c8ee2ef41 /drivers/i2c/busses/i2c-i801.c
parent0cd96eb0a74791cacb27ace902b991cfd0e72abe (diff)
i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllers
These are the extra 'Integrated Device Function' SMBus controllers found on the Patsburg chipset. Mention the absence of slave mode support. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-i801.c')
-rw-r--r--drivers/i2c/busses/i2c-i801.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c
index 56883f48c2e4..02835ce7ff4b 100644
--- a/drivers/i2c/busses/i2c-i801.c
+++ b/drivers/i2c/busses/i2c-i801.c
@@ -46,6 +46,9 @@
46 5/3400 Series (PCH) 0x3b30 32 hard yes yes yes 46 5/3400 Series (PCH) 0x3b30 32 hard yes yes yes
47 Cougar Point (PCH) 0x1c22 32 hard yes yes yes 47 Cougar Point (PCH) 0x1c22 32 hard yes yes yes
48 Patsburg (PCH) 0x1d22 32 hard yes yes yes 48 Patsburg (PCH) 0x1d22 32 hard yes yes yes
49 Patsburg (PCH) IDF 0x1d70 32 hard yes yes yes
50 Patsburg (PCH) IDF 0x1d71 32 hard yes yes yes
51 Patsburg (PCH) IDF 0x1d72 32 hard yes yes yes
49 52
50 Features supported by this driver: 53 Features supported by this driver:
51 Software PEC no 54 Software PEC no
@@ -53,6 +56,7 @@
53 Block buffer yes 56 Block buffer yes
54 Block process call transaction no 57 Block process call transaction no
55 I2C block read transaction yes (doesn't use the block buffer) 58 I2C block read transaction yes (doesn't use the block buffer)
59 Slave mode no
56 60
57 See the file Documentation/i2c/busses/i2c-i801 for details. 61 See the file Documentation/i2c/busses/i2c-i801 for details.
58*/ 62*/
@@ -128,6 +132,11 @@
128 SMBHSTSTS_BUS_ERR | SMBHSTSTS_DEV_ERR | \ 132 SMBHSTSTS_BUS_ERR | SMBHSTSTS_DEV_ERR | \
129 SMBHSTSTS_INTR) 133 SMBHSTSTS_INTR)
130 134
135/* Patsburg also has three 'Integrated Device Function' SMBus controllers */
136#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0 0x1d70
137#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1 0x1d71
138#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2 0x1d72
139
131struct i801_priv { 140struct i801_priv {
132 struct i2c_adapter adapter; 141 struct i2c_adapter adapter;
133 unsigned long smba; 142 unsigned long smba;
@@ -608,6 +617,9 @@ static const struct pci_device_id i801_ids[] = {
608 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS) }, 617 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS) },
609 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS) }, 618 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS) },
610 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS) }, 619 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS) },
620 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0) },
621 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1) },
622 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2) },
611 { 0, } 623 { 0, }
612}; 624};
613 625