1Kernel driver lm78 2================== 3 4Supported chips: 5 * National Semiconductor LM78 / LM78-J 6 Prefix: 'lm78' 7 Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports) 8 Datasheet: Publicly available at the National Semiconductor website 9 http://www.national.com/ 10 * National Semiconductor LM79 11 Prefix: 'lm79' 12 Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports) 13 Datasheet: Publicly available at the National Semiconductor website 14 http://www.national.com/ 15 16Author: Frodo Looijaard <frodol@dds.nl> 17 18Description 19----------- 20 21This driver implements support for the National Semiconductor LM78, LM78-J 22and LM79. They are described as 'Microprocessor System Hardware Monitors'. 23 24There is almost no difference between the three supported chips. Functionally, 25the LM78 and LM78-J are exactly identical. The LM79 has one more VID line, 26which is used to report the lower voltages newer Pentium processors use. 27From here on, LM7* means either of these three types. 28 29The LM7* implements one temperature sensor, three fan rotation speed sensors, 30seven voltage sensors, VID lines, alarms, and some miscellaneous stuff. 31 32Temperatures are measured in degrees Celsius. An alarm is triggered once 33when the Overtemperature Shutdown limit is crossed; it is triggered again 34as soon as it drops below the Hysteresis value. A more useful behavior 35can be found by setting the Hysteresis value to +127 degrees Celsius; in 36this case, alarms are issued during all the time when the actual temperature 37is above the Overtemperature Shutdown value. Measurements are guaranteed 38between -55 and +125 degrees, with a resolution of 1 degree. 39 40Fan rotation speeds are reported in RPM (rotations per minute). An alarm is 41triggered if the rotation speed has dropped below a programmable limit. Fan 42readings can be divided by a programmable divider (1, 2, 4 or 8) to give 43the readings more range or accuracy. Not all RPM values can accurately be 44represented, so some rounding is done. With a divider of 2, the lowest 45representable value is around 2600 RPM. 46 47Voltage sensors (also known as IN sensors) report their values in volts. 48An alarm is triggered if the voltage has crossed a programmable minimum 49or maximum limit. Note that minimum in this case always means 'closest to 50zero'; this is important for negative voltage measurements. All voltage 51inputs can measure voltages between 0 and 4.08 volts, with a resolution 52of 0.016 volt. 53 54The VID lines encode the core voltage value: the voltage level your processor 55should work with. This is hardcoded by the mainboard and/or processor itself. 56It is a value in volts. When it is unconnected, you will often find the 57value 3.50 V here. 58 59In addition to the alarms described above, there are a couple of additional 60ones. There is a BTI alarm, which gets triggered when an external chip has 61crossed its limits. Usually, this is connected to all LM75 chips; if at 62least one crosses its limits, this bit gets set. The CHAS alarm triggers 63if your computer case is open. The FIFO alarms should never trigger; it 64indicates an internal error. The SMI_IN alarm indicates some other chip 65has triggered an SMI interrupt. As we do not use SMI interrupts at all, 66this condition usually indicates there is a problem with some other 67device. 68 69If an alarm triggers, it will remain triggered until the hardware register 70is read at least once. This means that the cause for the alarm may 71already have disappeared! Note that in the current implementation, all 72hardware registers are read whenever any data is read (unless it is less 73than 1.5 seconds since the last update). This means that you can easily 74miss once-only alarms. 75 76The LM7* only updates its values each 1.5 seconds; reading it more often 77will do no harm, but will return 'old' values. 78