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

  • National Semiconductor LM82

    Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e

    Datasheet: Publicly available at the National Semiconductor website

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.