Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  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.