Skip to contentSkip to conversation

i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllers

PATCH Applied David Woodhouse 2 participants 2 messages Oct 31, 2010 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 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.

---
Seth already added the host controller ID, calling it 'Patsburg'. So I'll call it 'Patsburg' too, and just add the additional controllers.

We should probably add a column in the hardware support table indicating which devices support slave mode. The Patsburg host does; the IDF controllers don't. Not sure how many older devices have slave mode.

 Documentation/i2c/busses/i2c-i801 |    3 +++
 drivers/i2c/busses/i2c-i801.c     |   13 +++++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)
Documentation/i2c/busses/i2c-i801 +3 -0
index a417cb1..93fe76e 100644
@@ -20,6 +20,9 @@ Supported adapters:
   * Intel Patsburg (PCH)
    Datasheets: Publicly available at the Intel website
 
+On Intel Patsburg and later chipsets, both the normal host SMBus controller
+and the additional 'Integrated Device Function' controllers are supported.
+
 Authors: 
 	Mark Studebaker <mdsxyz123-/[email protected]>
 	Jean Delvare <[email protected]>
drivers/i2c/busses/i2c-i801.c +13 -0
index 404ca3f..d5d8a17 100644
@@ -45,6 +45,9 @@
   5/3400 Series (PCH)   0x3b30     32     hard     yes     yes     yes
   Cougar Point (PCH)    0x1c22     32     hard     yes     yes     yes
   Patsburg (PCH)        0x1d22     32     hard     yes     yes     yes
+  Patsburg (PCH) IDF    0x1d70     32     hard     yes     yes     yes
+  Patsburg (PCH) IDF    0x1d71     32     hard     yes     yes     yes
+  Patsburg (PCH) IDF    0x1d72     32     hard     yes     yes     yes
 
   Features supported by this driver:
   Software PEC                     no
@@ -52,6 +55,8 @@
   Block buffer                     yes
   Block process call transaction   no
   I2C block read transaction       yes  (doesn't use the block buffer)
+  Slave mode                       no
+
 
   See the file Documentation/i2c/busses/i2c-i801 for details.
 */
@@ -127,6 +132,11 @@
 				 SMBHSTSTS_BUS_ERR | SMBHSTSTS_DEV_ERR | \
 				 SMBHSTSTS_INTR)
 
+/* Patsburg also has three 'Integrated Device Function' SMBus controllers */
+#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0	0x1d70
+#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1	0x1d71
+#define PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2	0x1d72
+
 struct i801_priv {
 	struct i2c_adapter adapter;
 	unsigned long smba;
@@ -603,6 +613,9 @@ static const struct pci_device_id i801_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COUGARPOINT_SMBUS) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF0) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF1) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PATSBURG_SMBUS_IDF2) },
 	{ 0, }
 };
 
Signature · 1 line
1.7.3.1

A message that is not in the archive (sent off-list or not yet received): 1288538652.4570.52.camel-uXGAPMMVk8bAQYKIod7YupZV94DADvEd@public.gmane.org

Applied
#2 lore raw
Quoted 7 lines · David Woodhouse

These are the extra 'Integrated Device Function' SMBus controllers found on the Patsburg chipset. Mention the absence of slave mode support.

---
Seth already added the host controller ID, calling it 'Patsburg'. So I'll call it 'Patsburg' too, and just add the additional controllers.

Applied, thanks.

Quoted 4 lines

We should probably add a column in the hardware support table indicating which devices support slave mode. The Patsburg host does; the IDF controllers don't. Not sure how many older devices have slave mode.

I agree. Feel free to only add the yes/no flag in that column for the devices for which you know the answer, and we can populate the rest later. All the datasheets are available so it should be doable although this will take some time due to the large number of supported devices.

That being said, this column will really only start being interesting if/when we actually implement support for the slave mode. Not sure who needs this.

Signature · 1 line
Jean Delvare