1Kernel driver lm80 2================== 3 4Supported chips: 5 * National Semiconductor LM80 6 Prefix: 'lm80' 7 Addresses scanned: I2C 0x28 - 0x2f 8 Datasheet: Publicly available at the National Semiconductor website 9 http://www.national.com/ 10 * National Semiconductor LM96080 11 Prefix: 'lm96080' 12 Addresses scanned: I2C 0x28 - 0x2f 13 Datasheet: Publicly available at the National Semiconductor website 14 http://www.national.com/ 15 16Authors: 17 Frodo Looijaard <frodol@dds.nl>, 18 Philip Edelbrock <phil@netroedge.com> 19 20Description 21----------- 22 23This driver implements support for the National Semiconductor LM80. 24It is described as a 'Serial Interface ACPI-Compatible Microprocessor 25System Hardware Monitor'. The LM96080 is a more recent incarnation, 26it is pin and register compatible, with a few additional features not 27yet supported by the driver. 28 29The LM80 implements one temperature sensor, two fan rotation speed sensors, 30seven voltage sensors, alarms, and some miscellaneous stuff. 31 32Temperatures are measured in degrees Celsius. There are two sets of limits 33which operate independently. When the HOT Temperature Limit is crossed, 34this will cause an alarm that will be reasserted until the temperature 35drops below the HOT Hysteresis. The Overtemperature Shutdown (OS) limits 36should work in the same way (but this must be checked; the datasheet 37is unclear about this). Measurements are guaranteed between -55 and 38+125 degrees. The current temperature measurement has a resolution of 390.0625 degrees; the limits have a resolution of 1 degree. 40 41Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 42triggered if the rotation speed has dropped below a programmable limit. Fan 43readings can be divided by a programmable divider (1, 2, 4 or 8) to give 44the readings more range or accuracy. Not all RPM values can accurately be 45represented, so some rounding is done. With a divider of 2, the lowest 46representable value is around 2600 RPM. 47 48Voltage sensors (also known as IN sensors) report their values in volts. 49An alarm is triggered if the voltage has crossed a programmable minimum 50or maximum limit. Note that minimum in this case always means 'closest to 51zero'; this is important for negative voltage measurements. All voltage 52inputs can measure voltages between 0 and 2.55 volts, with a resolution 53of 0.01 volt. 54 55If an alarm triggers, it will remain triggered until the hardware register 56is read at least once. This means that the cause for the alarm may 57already have disappeared! Note that in the current implementation, all 58hardware registers are read whenever any data is read (unless it is less 59than 2.0 seconds since the last update). This means that you can easily 60miss once-only alarms. 61 62The LM80 only updates its values each 1.5 seconds; reading it more often 63will do no harm, but will return 'old' values. 64