mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-18 11:09:32 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@746 7894878c-1315-0410-8ee3-d5d059ff63e0
152 lines
7.8 KiB
Plaintext
152 lines
7.8 KiB
Plaintext
Kernel driver `lm80.o'
|
|
======================
|
|
|
|
Status: Complete and tested
|
|
|
|
Supported chips:
|
|
* National Semiconductors LM80
|
|
Prefix `lm80'
|
|
Addresses scanned: I2C 0x20 - 0x2f (inclusive)
|
|
|
|
Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock
|
|
<phil@netroedge.com>
|
|
|
|
|
|
Module Parameters
|
|
-----------------
|
|
|
|
* force: short array (min = 1, max = 48)
|
|
List of adapter,address pairs to boldly assume to be present
|
|
* force_lm80: short array (min = 1, max = 48)
|
|
List of adapter,address pairs which are unquestionably assumed to contain
|
|
a `lm80' chip
|
|
* ignore: short array (min = 1, max = 48)
|
|
List of adapter,address pairs not to scan
|
|
* ignore_range: short array (min = 1, max = 48)
|
|
List of adapter,start-addr,end-addr triples not to scan
|
|
* probe: short array (min = 1, max = 48)
|
|
List of adapter,address pairs to scan additionally
|
|
* probe_range: short array (min = 1, max = 48)
|
|
List of adapter,start-addr,end-addr triples to scan additionally
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver implements support for the National Semiconductors LM80.
|
|
It is descibed as a `Serial Interface ACPI-Compatible Microprocessor
|
|
System Hardware Monitor'.
|
|
|
|
The LM80 implements one temperature sensor, two FAN rotation speed sensors,
|
|
seven voltage sensors, alarms, and some miscellaneous stuff.
|
|
|
|
Temperatures are measured in degrees Celcius. There are two sets of limits
|
|
which operate independently. When the HOT Temperature Limit is crossed,
|
|
this will cause an alarm that will be reasserted until the temperature
|
|
drops below the HOT Hysteresis. The Overtemperature Shotdown (OS) limits
|
|
should work in the same way (but this must be checked; the datasheet
|
|
is unclear about this). Measurements are guaranteed between -55 and
|
|
+125 degrees. The current temperature measurement has a resolution of
|
|
0.0625 degrees; the limits have a resolution of 1 degree.
|
|
|
|
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 important 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. With a divider of 2, the lowest representable
|
|
value is around 2600 RPM.
|
|
|
|
Voltage ensors (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. All voltage
|
|
inputs can measure voltages between 0 and 2.55 volts, with a resolution
|
|
of 0.01 volt.
|
|
|
|
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 2.0 seconds since the last update). This means that you can easily
|
|
miss once-only alarms.
|
|
|
|
The LM80 only updates its values each 1.5 seconds; reading it more often
|
|
will do no harm, but will return 'old' values.
|
|
|
|
|
|
Chip Features
|
|
-------------
|
|
|
|
Chip `lm80'
|
|
LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE
|
|
in0 NONE NONE R 2
|
|
in1 NONE NONE R 2
|
|
in2 NONE NONE R 2
|
|
in3 NONE NONE R 2
|
|
in4 NONE NONE R 2
|
|
in5 NONE NONE R 2
|
|
in6 NONE NONE R 2
|
|
in0_min in0 in0 RW 2
|
|
in1_min in1 in1 RW 2
|
|
in2_min in2 in2 RW 2
|
|
in3_min in3 in3 RW 2
|
|
in4_min in4 in4 RW 2
|
|
in5_min in5 in5 RW 2
|
|
in6_min in6 in6 RW 2
|
|
in0_max in0 in0 RW 2
|
|
in1_max in1 in1 RW 2
|
|
in2_max in2 in2 RW 2
|
|
in3_max in3 in3 RW 2
|
|
in4_max in4 in4 RW 2
|
|
in5_max in5 in5 RW 2
|
|
in6_max in6 in6 RW 2
|
|
fan1 NONE NONE R 0
|
|
fan2 NONE NONE R 0
|
|
fan1_min fan1 NONE RW 0
|
|
fan2_min fan2 NONE RW 0
|
|
temp NONE NONE R 2
|
|
temp_hot_hyst temp temp RW 2
|
|
temp_hot_max temp temp RW 2
|
|
temp_os_hyst temp temp RW 2
|
|
temp_os_max temp temp RW 2
|
|
fan1_div fan1 NONE RW 0
|
|
fan2_div fan2 NONE RW 0
|
|
alarms NONE NONE R 0
|
|
|
|
LABEL FEATURE SYMBOL SYSCTL FILE:OFFSET
|
|
in0 SENSORS_LM80_IN0 in0:3
|
|
in1 SENSORS_LM80_IN1 in1:3
|
|
in2 SENSORS_LM80_IN2 in2:3
|
|
in3 SENSORS_LM80_IN3 in3:3
|
|
in4 SENSORS_LM80_IN4 in4:3
|
|
in5 SENSORS_LM80_IN5 in5:3
|
|
in6 SENSORS_LM80_IN6 in6:3
|
|
in0_min SENSORS_LM80_IN0_MIN in0:1
|
|
in1_min SENSORS_LM80_IN1_MIN in1:1
|
|
in2_min SENSORS_LM80_IN2_MIN in2:1
|
|
in3_min SENSORS_LM80_IN3_MIN in3:1
|
|
in4_min SENSORS_LM80_IN4_MIN in4:1
|
|
in5_min SENSORS_LM80_IN5_MIN in5:1
|
|
in6_min SENSORS_LM80_IN6_MIN in6:1
|
|
in0_max SENSORS_LM80_IN0_MAX in0:2
|
|
in1_max SENSORS_LM80_IN1_MAX in1:2
|
|
in2_max SENSORS_LM80_IN2_MAX in2:2
|
|
in3_max SENSORS_LM80_IN3_MAX in3:2
|
|
in4_max SENSORS_LM80_IN4_MAX in4:2
|
|
in5_max SENSORS_LM80_IN5_MAX in5:2
|
|
in6_max SENSORS_LM80_IN6_MAX in6:2
|
|
fan1 SENSORS_LM80_FAN1 fan1:2
|
|
fan2 SENSORS_LM80_FAN2 fan2:2
|
|
fan1_min SENSORS_LM80_FAN1_MIN fan1:1
|
|
fan2_min SENSORS_LM80_FAN2_MIN fan2:1
|
|
temp SENSORS_LM80_TEMP temp:5
|
|
temp_hot_hyst SENSORS_LM80_TEMP_HOT_HYST temp:2
|
|
temp_hot_max SENSORS_LM80_TEMP_HOT_MAX temp:1
|
|
temp_os_hyst SENSORS_LM80_TEMP_OS_HYST temp:4
|
|
temp_os_max SENSORS_LM80_TEMP_OS_MAX temp:3
|
|
fan1_div SENSORS_LM80_FAN1_DIV fan_div:1
|
|
fan2_div SENSORS_LM80_FAN2_DIV fan_div:2
|
|
alarms SENSORS_LM80_ALARMS alarms:1
|