Back to home page

OSCL-LXR

 
 

    


0001 Kernel driver lm80
0002 ==================
0003 
0004 Supported chips:
0005 
0006   * National Semiconductor LM80
0007 
0008     Prefix: 'lm80'
0009 
0010     Addresses scanned: I2C 0x28 - 0x2f
0011 
0012     Datasheet: Publicly available at the National Semiconductor website
0013 
0014                http://www.national.com/
0015 
0016   * National Semiconductor LM96080
0017 
0018     Prefix: 'lm96080'
0019 
0020     Addresses scanned: I2C 0x28 - 0x2f
0021 
0022     Datasheet: Publicly available at the National Semiconductor website
0023 
0024                http://www.national.com/
0025 
0026 
0027 Authors:
0028        - Frodo Looijaard <frodol@dds.nl>,
0029        - Philip Edelbrock <phil@netroedge.com>
0030 
0031 Description
0032 -----------
0033 
0034 This driver implements support for the National Semiconductor LM80.
0035 It is described as a 'Serial Interface ACPI-Compatible Microprocessor
0036 System Hardware Monitor'. The LM96080 is a more recent incarnation,
0037 it is pin and register compatible, with a few additional features not
0038 yet supported by the driver.
0039 
0040 The LM80 implements one temperature sensor, two fan rotation speed sensors,
0041 seven voltage sensors, alarms, and some miscellaneous stuff.
0042 
0043 Temperatures are measured in degrees Celsius. There are two sets of limits
0044 which operate independently. When the HOT Temperature Limit is crossed,
0045 this will cause an alarm that will be reasserted until the temperature
0046 drops below the HOT Hysteresis. The Overtemperature Shutdown (OS) limits
0047 should work in the same way (but this must be checked; the datasheet
0048 is unclear about this). Measurements are guaranteed between -55 and
0049 +125 degrees. The current temperature measurement has a resolution of
0050 0.0625 degrees; the limits have a resolution of 1 degree.
0051 
0052 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
0053 triggered if the rotation speed has dropped below a programmable limit. Fan
0054 readings can be divided by a programmable divider (1, 2, 4 or 8) to give
0055 the readings more range or accuracy. Not all RPM values can accurately be
0056 represented, so some rounding is done. With a divider of 2, the lowest
0057 representable value is around 2600 RPM.
0058 
0059 Voltage sensors (also known as IN sensors) report their values in volts.
0060 An alarm is triggered if the voltage has crossed a programmable minimum
0061 or maximum limit. Note that minimum in this case always means 'closest to
0062 zero'; this is important for negative voltage measurements. All voltage
0063 inputs can measure voltages between 0 and 2.55 volts, with a resolution
0064 of 0.01 volt.
0065 
0066 If an alarm triggers, it will remain triggered until the hardware register
0067 is read at least once. This means that the cause for the alarm may
0068 already have disappeared! Note that in the current implementation, all
0069 hardware registers are read whenever any data is read (unless it is less
0070 than 2.0 seconds since the last update). This means that you can easily
0071 miss once-only alarms.
0072 
0073 The LM80 only updates its values each 1.5 seconds; reading it more often
0074 will do no harm, but will return 'old' values.