Commit ab6a6ed2 authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare

i2c-viapro: Add support for the VIA CX700 south bridge

We do not have any documentation for the CX700, but it was reported
to work fine. Thanks to Claas Langbehn for testing.
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent 9ace555d
...@@ -13,6 +13,9 @@ Supported adapters: ...@@ -13,6 +13,9 @@ Supported adapters:
* VIA Technologies, Inc. VT8235, VT8237R, VT8237A, VT8251 * VIA Technologies, Inc. VT8235, VT8237R, VT8237A, VT8251
Datasheet: available on request and under NDA from VIA Datasheet: available on request and under NDA from VIA
* VIA Technologies, Inc. CX700
Datasheet: available on request and under NDA from VIA
Authors: Authors:
Kysti Mlkki <kmalkki@cc.hut.fi>, Kysti Mlkki <kmalkki@cc.hut.fi>,
Mark D. Studebaker <mdsxyz123@yahoo.com>, Mark D. Studebaker <mdsxyz123@yahoo.com>,
...@@ -44,6 +47,7 @@ Your lspci -n listing must show one of these : ...@@ -44,6 +47,7 @@ Your lspci -n listing must show one of these :
device 1106:3227 (VT8237R) device 1106:3227 (VT8237R)
device 1106:3337 (VT8237A) device 1106:3337 (VT8237A)
device 1106:3287 (VT8251) device 1106:3287 (VT8251)
device 1106:8324 (CX700)
If none of these show up, you should look in the BIOS for settings like If none of these show up, you should look in the BIOS for settings like
enable ACPI / SMBus or even USB. enable ACPI / SMBus or even USB.
...@@ -51,3 +55,6 @@ enable ACPI / SMBus or even USB. ...@@ -51,3 +55,6 @@ enable ACPI / SMBus or even USB.
Except for the oldest chips (VT82C596A/B, VT82C686A and most probably Except for the oldest chips (VT82C596A/B, VT82C686A and most probably
VT8231), this driver supports I2C block transactions. Such transactions VT8231), this driver supports I2C block transactions. Such transactions
are mainly useful to read from and write to EEPROMs. are mainly useful to read from and write to EEPROMs.
The CX700 additionally appears to support SMBus PEC, although this driver
doesn't implement it yet.
...@@ -500,11 +500,11 @@ config I2C_VIA ...@@ -500,11 +500,11 @@ config I2C_VIA
will be called i2c-via. will be called i2c-via.
config I2C_VIAPRO config I2C_VIAPRO
tristate "VIA 82C596/82C686/82xx" tristate "VIA VT82C596/82C686/82xx and CX700"
depends on I2C && PCI depends on I2C && PCI
help help
If you say yes to this option, support will be included for the VIA If you say yes to this option, support will be included for the VIA
82C596/82C686/82xx I2C interfaces. Specifically, the following VT82C596 and later SMBus interface. Specifically, the following
chipsets are supported: chipsets are supported:
VT82C596A/B VT82C596A/B
VT82C686A/B VT82C686A/B
...@@ -513,6 +513,7 @@ config I2C_VIAPRO ...@@ -513,6 +513,7 @@ config I2C_VIAPRO
VT8235 VT8235
VT8237R/A VT8237R/A
VT8251 VT8251
CX700
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called i2c-viapro. will be called i2c-viapro.
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
Copyright (c) 1998 - 2002 Frodo Looijaard <frodol@dds.nl>, Copyright (c) 1998 - 2002 Frodo Looijaard <frodol@dds.nl>,
Philip Edelbrock <phil@netroedge.com>, Kysti Mlkki <kmalkki@cc.hut.fi>, Philip Edelbrock <phil@netroedge.com>, Kysti Mlkki <kmalkki@cc.hut.fi>,
Mark D. Studebaker <mdsxyz123@yahoo.com> Mark D. Studebaker <mdsxyz123@yahoo.com>
Copyright (C) 2005 Jean Delvare <khali@linux-fr.org> Copyright (C) 2005 - 2007 Jean Delvare <khali@linux-fr.org>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
VT8237R 0x3227 yes VT8237R 0x3227 yes
VT8237A 0x3337 yes VT8237A 0x3337 yes
VT8251 0x3287 yes VT8251 0x3287 yes
CX700 0x8324 yes
Note: we assume there can only be one device, with one SMBus interface. Note: we assume there can only be one device, with one SMBus interface.
*/ */
...@@ -384,6 +385,7 @@ static int __devinit vt596_probe(struct pci_dev *pdev, ...@@ -384,6 +385,7 @@ static int __devinit vt596_probe(struct pci_dev *pdev,
dev_dbg(&pdev->dev, "VT596_smba = 0x%X\n", vt596_smba); dev_dbg(&pdev->dev, "VT596_smba = 0x%X\n", vt596_smba);
switch (pdev->device) { switch (pdev->device) {
case PCI_DEVICE_ID_VIA_CX700:
case PCI_DEVICE_ID_VIA_8251: case PCI_DEVICE_ID_VIA_8251:
case PCI_DEVICE_ID_VIA_8237: case PCI_DEVICE_ID_VIA_8237:
case PCI_DEVICE_ID_VIA_8237A: case PCI_DEVICE_ID_VIA_8237A:
...@@ -443,6 +445,8 @@ static struct pci_device_id vt596_ids[] = { ...@@ -443,6 +445,8 @@ static struct pci_device_id vt596_ids[] = {
.driver_data = SMBBA1 }, .driver_data = SMBBA1 },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8251), { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8251),
.driver_data = SMBBA3 }, .driver_data = SMBBA3 },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_CX700),
.driver_data = SMBBA3 },
{ 0, } { 0, }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment