diff options
| -rw-r--r-- | Documentation/i2c/busses/i2c-i801 | 3 | ||||
| -rw-r--r-- | drivers/i2c/busses/i2c-i801.c | 12 |
2 files changed, 15 insertions, 0 deletions
diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index a417cb13943..93fe76e5652 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 | |||
| @@ -20,6 +20,9 @@ Supported adapters: | |||
| 20 | * Intel Patsburg (PCH) | 20 | * Intel Patsburg (PCH) |
| 21 | Datasheets: Publicly available at the Intel website | 21 | Datasheets: Publicly available at the Intel website |
| 22 | 22 | ||
| 23 | On Intel Patsburg and later chipsets, both the normal host SMBus controller | ||
| 24 | and the additional 'Integrated Device Function' controllers are supported. | ||
| 25 | |||
| 23 | Authors: | 26 | Authors: |
| 24 | Mark Studebaker <mdsxyz123@yahoo.com> | 27 | Mark Studebaker <mdsxyz123@yahoo.com> |
| 25 | Jean Delvare <khali@linux-fr.org> | 28 | Jean Delvare <khali@linux-fr.org> |
diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 56883f48c2e..02835ce7ff4 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 | |||
| 131 | struct i801_priv { | 140 | struct 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 | ||
