Kernel driver lm80

Supported chips:

  • National Semiconductor LM80

    Prefix: ‘lm80’

    Addresses scanned: I2C 0x28 - 0x2f

    Datasheet: Publicly available at the National Semiconductor website

  • National Semiconductor LM96080

    Prefix: ‘lm96080’

    Addresses scanned: I2C 0x28 - 0x2f

    Datasheet: Publicly available at the National Semiconductor website

Authors:

Description

This driver implements support for the National Semiconductor LM80.It is described as a ‘Serial Interface ACPI-Compatible MicroprocessorSystem Hardware Monitor’. The LM96080 is a more recent incarnation,it is pin and register compatible, with a few additional features notyet supported by the driver.

The LM80 implements one temperature sensor, two fan rotation speed sensors,seven voltage sensors, alarms, and some miscellaneous stuff.

Temperatures are measured in degrees Celsius. There are two sets of limitswhich operate independently. When the HOT Temperature Limit is crossed,this will cause an alarm that will be reasserted until the temperaturedrops below the HOT Hysteresis. The Overtemperature Shutdown (OS) limitsshould work in the same way (but this must be checked; the datasheetis unclear about this). Measurements are guaranteed between -55 and+125 degrees. The current temperature measurement has a resolution of0.0625 degrees; the limits have a resolution of 1 degree.

Fan rotation speeds are reported in RPM (rotations per minute). An alarm istriggered if the rotation speed has dropped below a programmable limit. Fanreadings can be divided by a programmable divider (1, 2, 4 or 8) to givethe readings more range or accuracy. Not all RPM values can accurately berepresented, so some rounding is done. With a divider of 2, the lowestrepresentable value is around 2600 RPM.

Voltage sensors (also known as IN sensors) report their values in volts.An alarm is triggered if the voltage has crossed a programmable minimumor maximum limit. Note that minimum in this case always means ‘closest tozero’; this is important for negative voltage measurements. All voltageinputs can measure voltages between 0 and 2.55 volts, with a resolutionof 0.01 volt.

If an alarm triggers, it will remain triggered until the hardware registeris read at least once. This means that the cause for the alarm mayalready have disappeared! Note that in the current implementation, allhardware registers are read whenever any data is read (unless it is lessthan 2.0 seconds since the last update). This means that you can easilymiss once-only alarms.

The LM80 only updates its values each 1.5 seconds; reading it more oftenwill do no harm, but will return ‘old’ values.