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.
154