i2c-viapro: Add support for the VIA CX700 south bridge
authorJean Delvare <khali@linux-fr.org>
Tue, 13 Feb 2007 21:09:02 +0000 (22:09 +0100)
committerJean Delvare <khali@arrakis.delvare>
Tue, 13 Feb 2007 21:09:02 +0000 (22:09 +0100)
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: Jean Delvare <khali@linux-fr.org>
Documentation/i2c/busses/i2c-viapro
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-viapro.c

index 25680346e0acd2059bf23608f5982b8bb2163eaf..775f489e86f63162d9abe00b1588f4b515704521 100644 (file)
@@ -13,6 +13,9 @@ Supported adapters:
   * VIA Technologies, Inc. VT8235, VT8237R, VT8237A, VT8251
     Datasheet: available on request and under NDA from VIA
 
+  * VIA Technologies, Inc. CX700
+    Datasheet: available on request and under NDA from VIA
+
 Authors:
        Kyösti Mälkki <kmalkki@cc.hut.fi>,
        Mark D. Studebaker <mdsxyz123@yahoo.com>,
@@ -44,6 +47,7 @@ Your lspci -n listing must show one of these :
  device 1106:3227   (VT8237R)
  device 1106:3337   (VT8237A)
  device 1106:3287   (VT8251)
+ device 1106:8324   (CX700)
 
 If none of these show up, you should look in the BIOS for settings like
 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
 VT8231), this driver supports I2C block transactions. Such transactions
 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.
index f2894dec51a562626472aefc9cc2b2ec8db949ac..25d52e0eec2cbc266f02023f6cca5c2d0bfaedb7 100644 (file)
@@ -500,11 +500,11 @@ config I2C_VIA
          will be called i2c-via.
 
 config I2C_VIAPRO
-       tristate "VIA 82C596/82C686/82xx"
+       tristate "VIA VT82C596/82C686/82xx and CX700"
        depends on I2C && PCI
        help
          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:
            VT82C596A/B
            VT82C686A/B
@@ -513,6 +513,7 @@ config I2C_VIAPRO
            VT8235
            VT8237R/A
            VT8251
+           CX700
 
          This driver can also be built as a module.  If so, the module
          will be called i2c-viapro.
index 43a081f16553f1ba80c885a872d98adca7656bd9..03c5fc868548d3d121aca6d879b06e13031594c2 100644 (file)
@@ -4,7 +4,7 @@
     Copyright (c) 1998 - 2002  Frodo Looijaard <frodol@dds.nl>,
     Philip Edelbrock <phil@netroedge.com>, Kyösti Mälkki <kmalkki@cc.hut.fi>,
     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
     it under the terms of the GNU General Public License as published by
@@ -36,6 +36,7 @@
    VT8237R            0x3227             yes
    VT8237A            0x3337             yes
    VT8251             0x3287             yes
+   CX700              0x8324             yes
 
    Note: we assume there can only be one device, with one SMBus interface.
 */
@@ -384,6 +385,7 @@ found:
        dev_dbg(&pdev->dev, "VT596_smba = 0x%X\n", vt596_smba);
 
        switch (pdev->device) {
+       case PCI_DEVICE_ID_VIA_CX700:
        case PCI_DEVICE_ID_VIA_8251:
        case PCI_DEVICE_ID_VIA_8237:
        case PCI_DEVICE_ID_VIA_8237A:
@@ -443,6 +445,8 @@ static struct pci_device_id vt596_ids[] = {
          .driver_data = SMBBA1 },
        { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8251),
          .driver_data = SMBBA3 },
+       { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_CX700),
+         .driver_data = SMBBA3 },
        { 0, }
 };