linux/Documentation/hwmon/adm1021.rst
<<
>>
Prefs
   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