i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllers
Subsystems (3)
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
@@ -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
@@ -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
Jean Delvare
AppliedQuoted 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.
Signed-off-by David Woodhouse <[email protected]>---
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