86 lines
3.6 KiB
Plaintext
86 lines
3.6 KiB
Plaintext
|
Kernel driver lm83
|
||
|
==================
|
||
|
|
||
|
Supported chips:
|
||
|
* National Semiconductor LM83
|
||
|
Prefix: 'lm83'
|
||
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||
|
Datasheet: Publicly available at the National Semiconductor website
|
||
|
http://www.national.com/pf/LM/LM83.html
|
||
|
* National Semiconductor LM82
|
||
|
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||
|
Datasheet: Publicly available at the National Semiconductor website
|
||
|
http://www.national.com/pf/LM/LM82.html
|
||
|
|
||
|
|
||
|
Author: Jean Delvare <jdelvare@suse.de>
|
||
|
|
||
|
Description
|
||
|
-----------
|
||
|
|
||
|
The LM83 is a digital temperature sensor. It senses its own temperature as
|
||
|
well as the temperature of up to three external diodes. The LM82 is
|
||
|
a stripped down version of the LM83 that only supports one external diode.
|
||
|
Both are compatible with many other devices such as the LM84 and all
|
||
|
other ADM1021 clones. The main difference between the LM83 and the LM84
|
||
|
in that the later can only sense the temperature of one external diode.
|
||
|
|
||
|
Using the adm1021 driver for a LM83 should work, but only two temperatures
|
||
|
will be reported instead of four.
|
||
|
|
||
|
The LM83 is only found on a handful of motherboards. Both a confirmed
|
||
|
list and an unconfirmed list follow. If you can confirm or infirm the
|
||
|
fact that any of these motherboards do actually have an LM83, please
|
||
|
contact us. Note that the LM90 can easily be misdetected as a LM83.
|
||
|
|
||
|
Confirmed motherboards:
|
||
|
SBS P014
|
||
|
SBS PSL09
|
||
|
|
||
|
Unconfirmed motherboards:
|
||
|
Gigabyte GA-8IK1100
|
||
|
Iwill MPX2
|
||
|
Soltek SL-75DRV5
|
||
|
|
||
|
The LM82 is confirmed to have been found on most AMD Geode reference
|
||
|
designs and test platforms.
|
||
|
|
||
|
The driver has been successfully tested by Magnus Forsström, who I'd
|
||
|
like to thank here. More testers will be of course welcome.
|
||
|
|
||
|
The fact that the LM83 is only scarcely used can be easily explained.
|
||
|
Most motherboards come with more than just temperature sensors for
|
||
|
health monitoring. They also have voltage and fan rotation speed
|
||
|
sensors. This means that temperature-only chips are usually used as
|
||
|
secondary chips coupled with another chip such as an IT8705F or similar
|
||
|
chip, which provides more features. Since systems usually need three
|
||
|
temperature sensors (motherboard, processor, power supply) and primary
|
||
|
chips provide some temperature sensors, the secondary chip, if needed,
|
||
|
won't have to handle more than two temperatures. Thus, ADM1021 clones
|
||
|
are sufficient, and there is no need for a four temperatures sensor
|
||
|
chip such as the LM83. The only case where using an LM83 would make
|
||
|
sense is on SMP systems, such as the above-mentioned Iwill MPX2,
|
||
|
because you want an additional temperature sensor for each additional
|
||
|
CPU.
|
||
|
|
||
|
On the SBS P014, this is different, since the LM83 is the only hardware
|
||
|
monitoring chipset. One temperature sensor is used for the motherboard
|
||
|
(actually measuring the LM83's own temperature), one is used for the
|
||
|
CPU. The two other sensors must be used to measure the temperature of
|
||
|
two other points of the motherboard. We suspect these points to be the
|
||
|
north and south bridges, but this couldn't be confirmed.
|
||
|
|
||
|
All temperature values are given in degrees Celsius. Local temperature
|
||
|
is given within a range of 0 to +85 degrees. Remote temperatures are
|
||
|
given within a range of 0 to +125 degrees. Resolution is 1.0 degree,
|
||
|
accuracy is guaranteed to 3.0 degrees (see the datasheet for more
|
||
|
details).
|
||
|
|
||
|
Each sensor has its own high limit, but the critical limit is common to
|
||
|
all four sensors. There is no hysteresis mechanism as found on most
|
||
|
recent temperature sensors.
|
||
|
|
||
|
The lm83 driver will not update its values more frequently than every
|
||
|
other second; reading them more often will do no harm, but will return
|
||
|
'old' values.
|