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