Commit 6ea3ec80 authored by Martin Schlemmer's avatar Martin Schlemmer Committed by Greg Kroah-Hartman

[PATCH] I2C: ICH5 SMBus and W83627THF additions

I have been trying to get the W83627THF chip working on this
board.  It is an Asus P4C800 with Intel 875p chipset and a
W83627THF connected via the SMBus.

There are no data sheet for the W83627THF as far as I can see,
but supposidly it is a W83627HF with advance Fan control, etc.

I have applied attached patches, and tried various other things
to get it to work, but no avail.  The SMBus on the ICH5 seems to
work, and it seems to detect the sensor chip just fine, but it
do not seem to read any values from the W83627THF.
parent e3c5438d
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
82801BA 2443 82801BA 2443
82801CA/CAM 2483 82801CA/CAM 2483
82801DB 24C3 (HW PEC supported, 32 byte buffer not supported) 82801DB 24C3 (HW PEC supported, 32 byte buffer not supported)
82801EB 24D3 (HW PEC supported, 32 byte buffer not supported)
This driver supports several versions of Intel's I/O Controller Hubs (ICH). This driver supports several versions of Intel's I/O Controller Hubs (ICH).
For SMBus support, they are similar to the PIIX4 and are part For SMBus support, they are similar to the PIIX4 and are part
...@@ -121,7 +122,8 @@ static int i801_setup(struct pci_dev *dev) ...@@ -121,7 +122,8 @@ static int i801_setup(struct pci_dev *dev)
return -ENODEV; return -ENODEV;
I801_dev = dev; I801_dev = dev;
if (dev->device == PCI_DEVICE_ID_INTEL_82801DB_3) if ((dev->device == PCI_DEVICE_ID_INTEL_82801DB_3) ||
(dev->device == PCI_DEVICE_ID_INTEL_82801EB_3))
isich4 = 1; isich4 = 1;
else else
isich4 = 0; isich4 = 0;
...@@ -585,6 +587,12 @@ static struct pci_device_id i801_ids[] __devinitdata = { ...@@ -585,6 +587,12 @@ static struct pci_device_id i801_ids[] __devinitdata = {
.subvendor = PCI_ANY_ID, .subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
}, },
{
.vendor = PCI_VENDOR_ID_INTEL,
.device = PCI_DEVICE_ID_INTEL_82801EB_3,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
},
{ 0, } { 0, }
}; };
......
...@@ -1285,7 +1285,7 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind) ...@@ -1285,7 +1285,7 @@ w83781d_detect(struct i2c_adapter *adapter, int address, int kind)
kind = w83782d; kind = w83782d;
else if (val1 == 0x40 && vendid == winbond && !is_isa) else if (val1 == 0x40 && vendid == winbond && !is_isa)
kind = w83783s; kind = w83783s;
else if (val1 == 0x20 && vendid == winbond) else if ((val1 == 0x20 || val1 == 0x72) && vendid == winbond)
kind = w83627hf; kind = w83627hf;
else if (val1 == 0x30 && vendid == asus && !is_isa) else if (val1 == 0x30 && vendid == asus && !is_isa)
kind = as99127f; kind = as99127f;
......
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