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