blob: 116fb201995688495995a47a824786111383dadb [file] [log] [blame]
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00001Kernel driver adm1021
2=====================
3
4Supported chips:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03005
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00006 * Analog Devices ADM1021
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03007
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +00008 Prefix: 'adm1021'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -03009
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000010 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030011
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000012 Datasheet: Publicly available at the Analog Devices website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030013
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000014 * Analog Devices ADM1021A/ADM1023
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030015
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000016 Prefix: 'adm1023'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030017
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000018 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030019
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000020 Datasheet: Publicly available at the Analog Devices website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030021
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000022 * Genesys Logic GL523SM
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030023
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000024 Prefix: 'gl523sm'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030025
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000026 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030027
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000028 Datasheet:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030029
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000030 * Maxim MAX1617
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030031
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000032 Prefix: 'max1617'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030033
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000034 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030035
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000036 Datasheet: Publicly available at the Maxim website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030037
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000038 * Maxim MAX1617A
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030039
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000040 Prefix: 'max1617a'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030041
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000042 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030043
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000044 Datasheet: Publicly available at the Maxim website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030045
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000046 * National Semiconductor LM84
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030047
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000048 Prefix: 'lm84'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030049
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000050 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030051
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000052 Datasheet: Publicly available at the National Semiconductor website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030053
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000054 * Philips NE1617
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030055
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000056 Prefix: 'max1617' (probably detected as a max1617)
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030057
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000058 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030059
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000060 Datasheet: Publicly available at the Philips website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030061
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000062 * Philips NE1617A
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030063
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000064 Prefix: 'max1617' (probably detected as a max1617)
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030065
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000066 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030067
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000068 Datasheet: Publicly available at the Philips website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030069
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000070 * TI THMC10
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030071
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000072 Prefix: 'thmc10'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030073
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000074 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030075
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000076 Datasheet: Publicly available at the TI website
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030077
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000078 * Onsemi MC1066
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030079
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000080 Prefix: 'mc1066'
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030081
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000082 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030083
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000084 Datasheet: Publicly available at the Onsemi website
85
86
87Authors:
Mauro Carvalho Chehabb04f2f72019-04-17 06:46:28 -030088 - Frodo Looijaard <frodol@dds.nl>,
89 - Philip Edelbrock <phil@netroedge.com>
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +000090
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
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +0000130
Jean Delvared7ce0332011-04-29 16:33:36 +0200131Netburst-based Xeon support
132---------------------------
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +0000133
Jean Delvared7ce0332011-04-29 16:33:36 +0200134Some 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.
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +0000138
Jean Delvared7ce0332011-04-29 16:33:36 +0200139If you have such an old Xeon, and you get two valid temperatures when
140loading the adm1021 module, then things are good.
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +0000141
Jean Delvared7ce0332011-04-29 16:33:36 +0200142If 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
Mauro Carvalho Chehabccf988b2019-07-26 09:51:16 -0300145method 4 in Documentation/i2c/instantiating-devices.rst. Possible slave
Jean Delvared7ce0332011-04-29 16:33:36 +0200146addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
147only temp2 will be correct and temp1 will have to be ignored.
R.Marek@sh.cvut.cz7f15b662005-05-26 12:42:19 +0000148
Jean Delvared7ce0332011-04-29 16:33:36 +0200149Previous 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.