Back to home page

OSCL-LXR

 
 

    


0001 Kernel driver lm78
0002 ==================
0003 
0004 Supported chips:
0005 
0006   * National Semiconductor LM78 / LM78-J
0007 
0008     Prefix: 'lm78'
0009 
0010     Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
0011 
0012     Datasheet: Publicly available at the National Semiconductor website
0013 
0014                http://www.national.com/
0015 
0016   * National Semiconductor LM79
0017 
0018     Prefix: 'lm79'
0019 
0020     Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
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         - Jean Delvare <jdelvare@suse.de>
0030 
0031 Description
0032 -----------
0033 
0034 This driver implements support for the National Semiconductor LM78, LM78-J
0035 and LM79. They are described as 'Microprocessor System Hardware Monitors'.
0036 
0037 There is almost no difference between the three supported chips. Functionally,
0038 the LM78 and LM78-J are exactly identical. The LM79 has one more VID line,
0039 which is used to report the lower voltages newer Pentium processors use.
0040 From here on, LM7* means either of these three types.
0041 
0042 The LM7* implements one temperature sensor, three fan rotation speed sensors,
0043 seven voltage sensors, VID lines, alarms, and some miscellaneous stuff.
0044 
0045 Temperatures are measured in degrees Celsius. An alarm is triggered once
0046 when the Overtemperature Shutdown limit is crossed; it is triggered again
0047 as soon as it drops below the Hysteresis value. A more useful behavior
0048 can be found by setting the Hysteresis value to +127 degrees Celsius; in
0049 this case, alarms are issued during all the time when the actual temperature
0050 is above the Overtemperature Shutdown value. Measurements are guaranteed
0051 between -55 and +125 degrees, with a resolution of 1 degree.
0052 
0053 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
0054 triggered if the rotation speed has dropped below a programmable limit. Fan
0055 readings can be divided by a programmable divider (1, 2, 4 or 8) to give
0056 the readings more range or accuracy. Not all RPM values can accurately be
0057 represented, so some rounding is done. With a divider of 2, the lowest
0058 representable value is around 2600 RPM.
0059 
0060 Voltage sensors (also known as IN sensors) report their values in volts.
0061 An alarm is triggered if the voltage has crossed a programmable minimum
0062 or maximum limit. Note that minimum in this case always means 'closest to
0063 zero'; this is important for negative voltage measurements. All voltage
0064 inputs can measure voltages between 0 and 4.08 volts, with a resolution
0065 of 0.016 volt.
0066 
0067 The VID lines encode the core voltage value: the voltage level your processor
0068 should work with. This is hardcoded by the mainboard and/or processor itself.
0069 It is a value in volts. When it is unconnected, you will often find the
0070 value 3.50 V here.
0071 
0072 If an alarm triggers, it will remain triggered until the hardware register
0073 is read at least once. This means that the cause for the alarm may
0074 already have disappeared! Note that in the current implementation, all
0075 hardware registers are read whenever any data is read (unless it is less
0076 than 1.5 seconds since the last update). This means that you can easily
0077 miss once-only alarms.
0078 
0079 The LM7* only updates its values each 1.5 seconds; reading it more often
0080 will do no harm, but will return 'old' values.