diff --git a/CHANGES b/CHANGES index 3e770bb4..94e4c091 100644 --- a/CHANGES +++ b/CHANGES @@ -34,6 +34,7 @@ ask CVS about it: Fix 2.6 hyst temp for 2.6 (lm75, lm78 and gl518sm) Fully support the PC87360 family Support the lm99 + Add version and date strings Makefile: Do not run depmod on staged installs (Peter Breitenlohner) Man page i2cdetect.8: document new command line flags Man page i2cdump.8: More details on how i2cdump can write to a chip @@ -45,6 +46,7 @@ ask CVS about it: Module gl520sm: Less agressive initialization process Fix temp1 limits being unsettable in application Ensure that temp2 and in4 are not used at the same time + Module i2c-i801: Support 6300ESB and ICH6 Module i2c-sis645: Add support for SiS655 Module lm90: Support LM99 and LM89 Module lm92: Support MAX6633, MAX6634, MAX6635 and LM76 @@ -63,7 +65,7 @@ ask CVS about it: Do not read fan data when monitoring is disabled Do not include SENSORS_INSMOD stuff New module parameter: init - Module smsc47m1: Lock on reads and writes + Module smsc47m1: Lock on reads and writes; many fixes Module thmc50: Fix address range Module via686a: Fix voltage roundings Simplify temperature conversions @@ -86,11 +88,12 @@ ask CVS about it: Support the lm99 Do not invert AS99127F beep bits anymore Fix W83781D temp3 alarm (Aurelien Jarno) + Print library version string Program sensors-detect: Rework Super I/O detection Support SiS655/SiS96x Support ADT7461 and ADT7467 Better support for ADM1027, ADT7460 and ADT7463 - Explicitely support ADM1028 + Explicitly support ADM1028 Scan all logical devices of PC87365 and PC87366 Detect LM92, LM76, MAX6633, MAX6634, MAX6635 Detect eeproms with software write protect (not diff --git a/doc/busses/i2c-i801 b/doc/busses/i2c-i801 index 16c92203..a82cfbd7 100644 --- a/doc/busses/i2c-i801 +++ b/doc/busses/i2c-i801 @@ -10,6 +10,9 @@ Supported adapters: * Intel 82801BA (ICH2 - part of the '815E' chipset) * Intel 82801CA/CAM (ICH3) * Intel 82801DB (ICH4) + * Intel 82801EB (ICH5) + * Intel 6300ESB + * Intel ICH6 Datasheets: Publicly available at the Intel website Author: Frodo Looijaard , Philip Edelbrock @@ -73,7 +76,7 @@ support this. SMBus 2.0 Support ----------------- -The 82801DB (ICH4) supports several SMBus 2.0 features. +The 82801DB (ICH4) and later chips support several SMBus 2.0 features. Kernel and driver support are as follows: Feature Kernel Driver @@ -83,10 +86,10 @@ Block PEC yes yes Hardware PEC yes yes -Other ICH4 Features -------------------- +Other ICH4 and later Features +----------------------------- -The following additional ICH4 features are also _not_ supported: +The following additional features are also _not_ supported: 32 Byte buffer diff --git a/kernel/busses/i2c-i801.c b/kernel/busses/i2c-i801.c index ed70aeb0..138a5c56 100644 --- a/kernel/busses/i2c-i801.c +++ b/kernel/busses/i2c-i801.c @@ -28,7 +28,8 @@ 82801CA/CAM 2483 82801DB 24C3 (HW PEC supported, 32 byte buffer not supported) 82801EB 24D3 (HW PEC supported, 32 byte buffer not supported) - + 6300ESB 25A4 ("") + ICH6 266A 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 of Intel's '810' and other chipsets. @@ -129,7 +130,8 @@ static int i801_setup(struct pci_dev *dev) I801_dev = dev; if (dev->device == PCI_DEVICE_ID_INTEL_82801DB_3 || - dev->device == 0x24d3) + dev->device == 0x24d3 || + dev->device == 0x25a4) isich4 = 1; else isich4 = 0; @@ -590,6 +592,18 @@ static struct pci_device_id i801_ids[] __devinitdata = { .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, }, + { + .vendor = PCI_VENDOR_ID_INTEL, + .device = 0x25a4, /* PCI_DEVICE_ID_INTEL_ESB_4 */ + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + }, + { + .vendor = PCI_VENDOR_ID_INTEL, + .device = 0x266a, /* PCI_DEVICE_ID_INTEL_ICH6_16 */ + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + }, { 0, } }; diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index 283c9a38..0861fce8 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -122,6 +122,22 @@ use vars qw(@pci_adapters @chip_ids @superio_ids); driver => "i2c-i801", match => sub { $_[0] =~ /^SMBus I801 adapter at [0-9,a-f]{4}/ }, } , + { + vendid => 0x8086, + devid => 0x25A4, + func => 3, + procid => "Intel 6300ESB", + driver => "i2c-i801", + match => sub { $_[0] =~ /^SMBus I801 adapter at [0-9,a-f]{4}/ }, + } , + { + vendid => 0x8086, + devid => 0x266A, + func => 3, + procid => "Intel ICH6", + driver => "i2c-i801", + match => sub { $_[0] =~ /^SMBus I801 adapter at [0-9,a-f]{4}/ }, + } , { vendid => 0x1106, devid => 0x3040,