1Kernel driver adm1021 2===================== 3 4Supported chips: 5 * Analog Devices ADM1021 6 Prefix: 'adm1021' 7 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 8 Datasheet: Publicly available at the Analog Devices website 9 * Analog Devices ADM1021A/ADM1023 10 Prefix: 'adm1023' 11 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 12 Datasheet: Publicly available at the Analog Devices website 13 * Genesys Logic GL523SM 14 Prefix: 'gl523sm' 15 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 16 Datasheet: 17 * Maxim MAX1617 18 Prefix: 'max1617' 19 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 20 Datasheet: Publicly available at the Maxim website 21 * Maxim MAX1617A 22 Prefix: 'max1617a' 23 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 24 Datasheet: Publicly available at the Maxim website 25 * National Semiconductor LM84 26 Prefix: 'lm84' 27 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 28 Datasheet: Publicly available at the National Semiconductor website 29 * Philips NE1617 30 Prefix: 'max1617' (probably detected as a max1617) 31 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 32 Datasheet: Publicly available at the Philips website 33 * Philips NE1617A 34 Prefix: 'max1617' (probably detected as a max1617) 35 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 36 Datasheet: Publicly available at the Philips website 37 * TI THMC10 38 Prefix: 'thmc10' 39 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 40 Datasheet: Publicly available at the TI website 41 * Onsemi MC1066 42 Prefix: 'mc1066' 43 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e 44 Datasheet: Publicly available at the Onsemi website 45 46 47Authors: 48 Frodo Looijaard <frodol@dds.nl>, 49 Philip Edelbrock <phil@netroedge.com> 50 51Module Parameters 52----------------- 53 54* read_only: int 55 Don't set any values, read only mode 56 57 58Description 59----------- 60 61The chips supported by this driver are very similar. The Maxim MAX1617 is 62the oldest; it has the problem that it is not very well detectable. The 63MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A. 64Ditto for the THMC10. From here on, we will refer to all these chips as 65ADM1021-clones. 66 67The ADM1021 and MAX1617A reports a die code, which is a sort of revision 68code. This can help us pinpoint problems; it is not very useful 69otherwise. 70 71ADM1021-clones implement two temperature sensors. One of them is internal, 72and measures the temperature of the chip itself; the other is external and 73is realised in the form of a transistor-like device. A special alarm 74indicates whether the remote sensor is connected. 75 76Each sensor has its own low and high limits. When they are crossed, the 77corresponding alarm is set and remains on as long as the temperature stays 78out of range. Temperatures are measured in degrees Celsius. Measurements 79are possible between -65 and +127 degrees, with a resolution of one degree. 80 81If an alarm triggers, it will remain triggered until the hardware register 82is read at least once. This means that the cause for the alarm may already 83have disappeared! 84 85This driver only updates its values each 1.5 seconds; reading it more often 86will do no harm, but will return 'old' values. It is possible to make 87ADM1021-clones do faster measurements, but there is really no good reason 88for that. 89 90 91Netburst-based Xeon support 92--------------------------- 93 94Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to 952003) microarchitecture had real MAX1617, ADM1021, or compatible chips 96within them, with two temperature sensors. Other Xeon processors of this 97era (with 400 MHz FSB) had chips with only one temperature sensor. 98 99If you have such an old Xeon, and you get two valid temperatures when 100loading the adm1021 module, then things are good. 101 102If nothing happens when loading the adm1021 module, and you are certain 103that your specific Xeon processor model includes compatible sensors, you 104will have to explicitly instantiate the sensor chips from user-space. See 105method 4 in Documentation/i2c/instantiating-devices. Possible slave 106addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that 107only temp2 will be correct and temp1 will have to be ignored. 108 109Previous generations of the Xeon processor (based on Pentium II/III) 110didn't have these sensors. Next generations of Xeon processors (533 MHz 111FSB and faster) lost them, until the Core-based generation which 112introduced integrated digital thermal sensors. These are supported by 113the coretemp driver. 114