mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-22 11:46:03 +00:00
I am trying to create a more-or-less standard documentation format for doc/chips/* files. I am not quite satisfied with the lm75 and lm78 docs yet, but it is starting to come. Basically, I want as much information in it as possible, and to generate most of it automatically. But that is harder than I though it would be. Also, a small library bugfix (class problem) and a doc-features fix. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@210 7894878c-1315-0410-8ee3-d5d059ff63e0
122 lines
6.1 KiB
Plaintext
122 lines
6.1 KiB
Plaintext
Kernel driver `lm78.o'
|
|
|
|
Prefixes: lm78 (LM78, I2C and ISA)
|
|
lm78-j (LM78-J, I2C and ISA)
|
|
lm79 (LM79, I2C and ISA)
|
|
|
|
This driver implements support for the National Semiconductor LM78, LM78-J
|
|
and LM79. They are described as `Microprocessor System Hardware Monitors'.
|
|
|
|
There is almost no difference between these three chips. Functionally, the
|
|
LM78 and LM78-J are exactly identical. The LM79 has one more VID line,
|
|
which is used to report the lower voltages newer Pentium processors use.
|
|
From now on, LM7* means either of these three types.
|
|
|
|
The LM7* implements one temperatur sensor, three FAN rotation speed sensors,
|
|
seven voltage sensors, VID lines, alarms, and some miscellaneous stuff.
|
|
|
|
Temperatures are measured in degrees Celcius. An alarm is triggered once
|
|
when the Overtemperature Shutdown limit is crossed; it is triggered again
|
|
as soon as it drops below the Hysteris value. A more useful behaviour
|
|
can be found by setting the Hysteris value to +127 degrees Celcius; in
|
|
this case, alarms are issued during all the time when the actual temperature \
|
|
is above the Overtemperature Shutdown value.
|
|
|
|
FAN rotation speeds are reported in RPM (rotations per minute). An alarm is
|
|
triggered if the rotation speed has dropped below a programmable limit. FAN
|
|
readings can be divided by a programmable divider (1, 2, 4 or 8) to give
|
|
the readings more range or accuracy. This is imporatant because some FANs
|
|
report only one 'tick' each rotation, while others report two - making
|
|
all readings twice as high. Not all RPM values can accurately be represented,
|
|
so some rounding is done.
|
|
|
|
Voltage sensors (also known as IN sensors) report their values in volts.
|
|
An alarm is triggered if the voltage has crossed a programmable minimum
|
|
or maximum limit. Note that minimum in this case always means 'closest to
|
|
zero'; this is important for negative voltage measurements.
|
|
|
|
The VID lines encode the core voltage value: the voltage level your processor
|
|
should work with. This is hardcoded by the mainboard and/or processor itself.
|
|
It is a value in volts.
|
|
|
|
In addition to the alarms described above, there are a couple of additional
|
|
ones. There is a BTI alarm, which gets triggered when an external chip has
|
|
crossed its limits. Usually, this is connected to all LM75 chips; if at
|
|
least one crosses its limits, this bit gets set. The CHAS alarm triggers
|
|
if your computer case is open. The FIFO alarms should never trigger; it
|
|
indicates an internal error. The SMI_IN alarm indicates some other chip
|
|
has triggered an SMI interrupt. As we do not use SMI interrupts at all,
|
|
this condition usually indicates there is a problem with some other
|
|
device.
|
|
|
|
If an alarm triggers, it will remain triggered until the hardware register
|
|
is read at least once. This means that the cause for the alarm may
|
|
already have disappeared! Note that in the current implementation, all
|
|
hardware registers are read whenever any data is read (unless it is less
|
|
than 1.5 seconds since the last update). This means that you can easily
|
|
miss once-only alarms.
|
|
|
|
The LM7* only updates its values each 1.5 seconds; reading it more often
|
|
will do no harm, but will return 'old' values.
|
|
|
|
|
|
/proc and sysctl interface files:
|
|
* alarms (LM78_SYSCTL_ALARMS)
|
|
A single number (R,0) which indicates which alarms are currently
|
|
triggered. It is a logical OR of the following bit values:
|
|
LM78_ALARM_BTI, LM78_ALARM_CHAS, LM78_ALARM_FIFO, LM78_ALARM_SMI_IN,
|
|
LM78_ALARMS_IN[0-6], LM78_ALARM_FAN[1-3], LM78_ALARM_TEMP
|
|
* fan[1-3] (LM78_SYSCTL_FAN[1-3])
|
|
The Fan Low Limit (RW,0) and Current Fan Reading (R,0).
|
|
* fan_div (LM78_SYSCTL_FAN_DIV)
|
|
The FAN1 Scaling Factor (RW,0), FAN2 Scaling Factor (RW,0) and FAN3 Scaling
|
|
Factor (RW,0).
|
|
* in[0-6] (LM78_SYSCTL_IN[0-6])
|
|
The Voltage Low Limit (RW,2), Voltage High Limit (RW,2) and Current
|
|
Voltage Reading (R,2).
|
|
* temp
|
|
The Overtemperature Shutdown Value (RW,1), Hysteris Value (RW,1) and
|
|
Current Temperature (R,1).
|
|
* vid
|
|
The Core Voltage Value (R,2).
|
|
|
|
|
|
configuration file features:
|
|
|
|
NAME LABEL CLASS COMPUTE CLASS RW
|
|
alarms: R
|
|
fan1: R
|
|
fan1_div: fan1 RW
|
|
fan1_min: fan1 RW
|
|
fan2: R
|
|
fan2_div: fan2 RW
|
|
fan2_min: fan2 RW
|
|
fan3: R
|
|
fan3_div: fan3 R
|
|
fan3_min: fan3 RW
|
|
in0: R
|
|
in0_max: in0 in0 RW
|
|
in0_min: in0 in0 RW
|
|
in1: R
|
|
in1_max: in1 in1 RW
|
|
in1_min: in1 in1 RW
|
|
in2: R
|
|
in2_max: in2 in2 RW
|
|
in2_min: in2 in2 RW
|
|
in3: R
|
|
in3_max: in3 in3 RW
|
|
in3_min: in3 in3 RW
|
|
in4: R
|
|
in4_max: in4 in4 RW
|
|
in4_min: in4 in4 RW
|
|
in5: R
|
|
in5_max: in5 in5 RW
|
|
in5_min: in5 in5 RW
|
|
in6: R
|
|
in6_max: in6 in6 RW
|
|
in6_min: in6 in6 RW
|
|
temp: R
|
|
temp_hyst: temp temp RW
|
|
temp_over: temp temp RW
|
|
vid: R
|