0001 Kernel driver adm1021
0002 =====================
0003
0004 Supported chips:
0005
0006 * Analog Devices ADM1021
0007
0008 Prefix: 'adm1021'
0009
0010 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0011
0012 Datasheet: Publicly available at the Analog Devices website
0013
0014 * Analog Devices ADM1021A/ADM1023
0015
0016 Prefix: 'adm1023'
0017
0018 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0019
0020 Datasheet: Publicly available at the Analog Devices website
0021
0022 * Genesys Logic GL523SM
0023
0024 Prefix: 'gl523sm'
0025
0026 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0027
0028 Datasheet:
0029
0030 * Maxim MAX1617
0031
0032 Prefix: 'max1617'
0033
0034 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0035
0036 Datasheet: Publicly available at the Maxim website
0037
0038 * Maxim MAX1617A
0039
0040 Prefix: 'max1617a'
0041
0042 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0043
0044 Datasheet: Publicly available at the Maxim website
0045
0046 * National Semiconductor LM84
0047
0048 Prefix: 'lm84'
0049
0050 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0051
0052 Datasheet: Publicly available at the National Semiconductor website
0053
0054 * Philips NE1617
0055
0056 Prefix: 'max1617' (probably detected as a max1617)
0057
0058 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0059
0060 Datasheet: Publicly available at the Philips website
0061
0062 * Philips NE1617A
0063
0064 Prefix: 'max1617' (probably detected as a max1617)
0065
0066 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0067
0068 Datasheet: Publicly available at the Philips website
0069
0070 * TI THMC10
0071
0072 Prefix: 'thmc10'
0073
0074 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0075
0076 Datasheet: Publicly available at the TI website
0077
0078 * Onsemi MC1066
0079
0080 Prefix: 'mc1066'
0081
0082 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
0083
0084 Datasheet: Publicly available at the Onsemi website
0085
0086
0087 Authors:
0088 - Frodo Looijaard <frodol@dds.nl>,
0089 - Philip Edelbrock <phil@netroedge.com>
0090
0091 Module Parameters
0092 -----------------
0093
0094 * read_only: int
0095 Don't set any values, read only mode
0096
0097
0098 Description
0099 -----------
0100
0101 The chips supported by this driver are very similar. The Maxim MAX1617 is
0102 the oldest; it has the problem that it is not very well detectable. The
0103 MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A.
0104 Ditto for the THMC10. From here on, we will refer to all these chips as
0105 ADM1021-clones.
0106
0107 The ADM1021 and MAX1617A reports a die code, which is a sort of revision
0108 code. This can help us pinpoint problems; it is not very useful
0109 otherwise.
0110
0111 ADM1021-clones implement two temperature sensors. One of them is internal,
0112 and measures the temperature of the chip itself; the other is external and
0113 is realised in the form of a transistor-like device. A special alarm
0114 indicates whether the remote sensor is connected.
0115
0116 Each sensor has its own low and high limits. When they are crossed, the
0117 corresponding alarm is set and remains on as long as the temperature stays
0118 out of range. Temperatures are measured in degrees Celsius. Measurements
0119 are possible between -65 and +127 degrees, with a resolution of one degree.
0120
0121 If an alarm triggers, it will remain triggered until the hardware register
0122 is read at least once. This means that the cause for the alarm may already
0123 have disappeared!
0124
0125 This driver only updates its values each 1.5 seconds; reading it more often
0126 will do no harm, but will return 'old' values. It is possible to make
0127 ADM1021-clones do faster measurements, but there is really no good reason
0128 for that.
0129
0130
0131 Netburst-based Xeon support
0132 ---------------------------
0133
0134 Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to
0135 2003) microarchitecture had real MAX1617, ADM1021, or compatible chips
0136 within them, with two temperature sensors. Other Xeon processors of this
0137 era (with 400 MHz FSB) had chips with only one temperature sensor.
0138
0139 If you have such an old Xeon, and you get two valid temperatures when
0140 loading the adm1021 module, then things are good.
0141
0142 If nothing happens when loading the adm1021 module, and you are certain
0143 that your specific Xeon processor model includes compatible sensors, you
0144 will have to explicitly instantiate the sensor chips from user-space. See
0145 method 4 in Documentation/i2c/instantiating-devices.rst. Possible slave
0146 addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
0147 only temp2 will be correct and temp1 will have to be ignored.
0148
0149 Previous generations of the Xeon processor (based on Pentium II/III)
0150 didn't have these sensors. Next generations of Xeon processors (533 MHz
0151 FSB and faster) lost them, until the Core-based generation which
0152 introduced integrated digital thermal sensors. These are supported by
0153 the coretemp driver.