mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-20 11:29:31 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2977 7894878c-1315-0410-8ee3-d5d059ff63e0
270 lines
14 KiB
Plaintext
270 lines
14 KiB
Plaintext
Kernel driver `w83792d.o'
|
|
=========================
|
|
|
|
Status: W83792D support is complete and well-tested.
|
|
|
|
|
|
Supported chips:
|
|
* Winbond W83792D
|
|
Prefix 'w83792d'
|
|
Addresses scanned: I2C 0x2c - 0x2f (inclusive)
|
|
Datasheet: Available to LM_Sensors group, sent by Chunhao Huang
|
|
|
|
|
|
Author: Chunhao Huang @ Winbond <huang0@winbond.com.tw>
|
|
|
|
|
|
Module Parameters
|
|
-----------------
|
|
|
|
<TODO: fill in here>
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver implements support for the Winbond W83792AD/D.
|
|
|
|
Detection of the chip can sometimes be foiled because it can be in
|
|
an internal state that allows no clean access. If you know the address
|
|
of the chip, use a 'force' parameter; this will put it into a more
|
|
well-behaved state first.
|
|
|
|
The driver implements three temperature sensors, seven FAN rotation speed
|
|
sensors, nine voltage sensors, and the Smart Fan I(Thermal Cruise mode)
|
|
and Smart Fan II sensors.
|
|
|
|
Temperatures are measured in degrees Celcius. There is one main temperature
|
|
sensor, and two other sensors. A alarm is triggered when the measured
|
|
temperture is higher than the Overtemperature or below the Hysteresis value.
|
|
This is NOT correct, I misunderstand the Hysteresis value when I implement
|
|
this driver. It will be fixed later: An alarm is triggered when the
|
|
Overtemperature Shutdown limit is crossed; it is triggered again as soon as
|
|
it drops below the Hysteresis 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, 8, 16, 32, 64 or
|
|
128) to give the readings more range or accuracy. This driver modify the
|
|
fan divisor automatically to get the reasonable RPM rotation range.
|
|
|
|
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.
|
|
|
|
All the alarm triggers is "software-level" instead of "hardware-level",
|
|
which means the alarm is triggered when "sensors" program find the measured
|
|
value exceed the limits, while in traditional chip drivers of lm_sensors,
|
|
alarm is triggered by the hardware interrupt status registers.
|
|
After a discusion with lm_sensors group, the "software-level" alarm method
|
|
to temperature may be modified in the future, but the alarm of voltage and
|
|
fan will not be modified, because W83792AD/D does NOT support it.
|
|
|
|
|
|
In addition to the alarms described above, there is a CHAS alarm on the
|
|
chips which triggers if your computer case is open.
|
|
|
|
The chips only update values each 3 seconds; reading them more often will
|
|
do no harm, but will return 'old' values.
|
|
|
|
|
|
W83792D PROBLEMS
|
|
-----------------
|
|
Known problems:
|
|
- This driver is only for Winbond W83792D C version device, there
|
|
are also some motherboards with B version W83792D device. The
|
|
calculation method to in6-in7(measured value, limits) is a little
|
|
different between C and B version. C or B version can be identified
|
|
by CR[0x49h].
|
|
- The function of vid and vrm has not been finished, because I'm NOT
|
|
very familiar with them. If someone can finish it, that's good,
|
|
- The function of chassis open detection need further test.
|
|
|
|
|
|
Chip Features
|
|
-------------
|
|
|
|
Chip `w83792d'
|
|
LABEL LABEL CLASS COMPUTE CLASS ACCESS MAGNITUDE
|
|
in0 NONE NONE R 3
|
|
in1 NONE NONE R 3
|
|
in2 NONE NONE R 3
|
|
in3 NONE NONE R 3
|
|
in4 NONE NONE R 3
|
|
in5 NONE NONE R 3
|
|
in6 NONE NONE R 3
|
|
in7 NONE NONE R 3
|
|
in8 NONE NONE R 3
|
|
in0_min in0 in0 RW 3
|
|
in1_min in1 in1 RW 3
|
|
in2_min in2 in2 RW 3
|
|
in3_min in3 in3 RW 3
|
|
in4_min in4 in4 RW 3
|
|
in5_min in5 in5 RW 3
|
|
in6_min in6 in6 RW 3
|
|
in7_min in7 in7 RW 3
|
|
in8_min in8 in8 RW 3
|
|
in0_max in0 in0 RW 3
|
|
in1_max in1 in1 RW 3
|
|
in2_max in2 in2 RW 3
|
|
in3_max in3 in3 RW 3
|
|
in4_max in4 in4 RW 3
|
|
in5_max in5 in5 RW 3
|
|
in6_max in6 in6 RW 3
|
|
in7_max in7 in7 RW 3
|
|
in8_max in8 in8 RW 3
|
|
fan1 NONE NONE R 0
|
|
fan2 NONE NONE R 0
|
|
fan3 NONE NONE R 0
|
|
fan4 NONE NONE R 0
|
|
fan5 NONE NONE R 0
|
|
fan6 NONE NONE R 0
|
|
fan7 NONE NONE R 0
|
|
fan1_min fan1 NONE RW 0
|
|
fan2_min fan2 NONE RW 0
|
|
fan3_min fan3 NONE RW 0
|
|
fan4_min fan4 NONE RW 0
|
|
fan5_min fan5 NONE RW 0
|
|
fan6_min fan6 NONE RW 0
|
|
fan7_min fan7 NONE RW 0
|
|
temp1 NONE NONE R 1
|
|
temp1_hyst temp1 temp1 RW 1
|
|
temp1_over temp1 temp1 RW 1
|
|
temp2 NONE NONE R 1
|
|
temp2_hyst temp2 temp2 RW 1
|
|
temp2_over temp2 temp2 RW 1
|
|
temp3 NONE NONE R 1
|
|
temp3_hyst temp3 temp3 RW 1
|
|
temp3_over temp3 temp3 RW 1
|
|
fan1_div fan1 NONE RW 0
|
|
fan2_div fan2 NONE RW 0
|
|
fan3_div fan3 NONE RW 0
|
|
fan4_div fan4 NONE RW 0
|
|
fan5_div fan5 NONE RW 0
|
|
fan6_div fan6 NONE RW 0
|
|
fan7_div fan7 NONE RW 0
|
|
|
|
LABEL FEATURE SYMBOL SYSCTL FILE:NR
|
|
in0 SENSORS_W83792D_IN0 in0:3
|
|
in1 SENSORS_W83792D_IN1 in1:3
|
|
in2 SENSORS_W83792D_IN2 in2:3
|
|
in3 SENSORS_W83792D_IN3 in3:3
|
|
in4 SENSORS_W83792D_IN4 in4:3
|
|
in5 SENSORS_W83792D_IN5 in5:3
|
|
in6 SENSORS_W83792D_IN6 in6:3
|
|
in7 SENSORS_W83792D_IN7 in7:3
|
|
in8 SENSORS_W83792D_IN8 in8:3
|
|
in0_min SENSORS_W83792D_IN0_MIN in0:1
|
|
in1_min SENSORS_W83792D_IN1_MIN in1:1
|
|
in2_min SENSORS_W83792D_IN2_MIN in2:1
|
|
in3_min SENSORS_W83792D_IN3_MIN in3:1
|
|
in4_min SENSORS_W83792D_IN4_MIN in4:1
|
|
in5_min SENSORS_W83792D_IN5_MIN in5:1
|
|
in6_min SENSORS_W83792D_IN6_MIN in6:1
|
|
in7_min SENSORS_W83792D_IN7_MIN in7:1
|
|
in8_min SENSORS_W83792D_IN8_MIN in8:1
|
|
in0_max SENSORS_W83792D_IN0_MAX in0:2
|
|
in1_max SENSORS_W83792D_IN1_MAX in1:2
|
|
in2_max SENSORS_W83792D_IN2_MAX in2:2
|
|
in3_max SENSORS_W83792D_IN3_MAX in3:2
|
|
in4_max SENSORS_W83792D_IN4_MAX in4:2
|
|
in5_max SENSORS_W83792D_IN5_MAX in5:2
|
|
in6_max SENSORS_W83792D_IN6_MAX in6:2
|
|
in7_max SENSORS_W83792D_IN7_MAX in7:2
|
|
in8_max SENSORS_W83792D_IN8_MAX in8:2
|
|
fan1 SENSORS_W83792D_FAN1 fan1:2
|
|
fan2 SENSORS_W83792D_FAN2 fan2:2
|
|
fan3 SENSORS_W83792D_FAN3 fan3:2
|
|
fan4 SENSORS_W83792D_FAN4 fan4:2
|
|
fan5 SENSORS_W83792D_FAN5 fan5:2
|
|
fan6 SENSORS_W83792D_FAN6 fan6:2
|
|
fan7 SENSORS_W83792D_FAN7 fan7:2
|
|
fan1_min SENSORS_W83792D_FAN1_MIN fan1:1
|
|
fan2_min SENSORS_W83792D_FAN2_MIN fan2:1
|
|
fan3_min SENSORS_W83792D_FAN3_MIN fan3:1
|
|
fan4_min SENSORS_W83792D_FAN4_MIN fan4:1
|
|
fan5_min SENSORS_W83792D_FAN5_MIN fan5:1
|
|
fan6_min SENSORS_W83792D_FAN6_MIN fan6:1
|
|
fan7_min SENSORS_W83792D_FAN7_MIN fan7:1
|
|
temp1 SENSORS_W83792D_TEMP1 temp1:3
|
|
temp1_hyst SENSORS_W83792D_TEMP1_HYST temp1:2
|
|
temp1_over SENSORS_W83792D_TEMP1_OVER temp1:1
|
|
temp2 SENSORS_W83792D_TEMP2 temp2:3
|
|
temp2_hyst SENSORS_W83792D_TEMP2_HYST temp2:2
|
|
temp2_over SENSORS_W83792D_TEMP2_OVER temp2:1
|
|
temp3 SENSORS_W83792D_TEMP3 temp3:3
|
|
temp3_hyst SENSORS_W83792D_TEMP3_HYST temp3:2
|
|
temp3_over SENSORS_W83792D_TEMP3_OVER temp3:1
|
|
fan1_div SENSORS_W83792D_FAN1_DIV fan_div:1
|
|
fan2_div SENSORS_W83792D_FAN2_DIV fan_div:2
|
|
fan3_div SENSORS_W83792D_FAN3_DIV fan_div:3
|
|
fan4_div SENSORS_W83792D_FAN4_DIV fan_div:4
|
|
fan5_div SENSORS_W83792D_FAN5_DIV fan_div:5
|
|
fan6_div SENSORS_W83792D_FAN6_DIV fan_div:6
|
|
fan7_div SENSORS_W83792D_FAN7_DIV fan_div:7
|
|
|
|
|
|
|
|
|
|
/PROC ENTRIES
|
|
-------------
|
|
Most are identical to the w83781d entries. See the w83781d documentation for
|
|
details.
|
|
|
|
Most of the additional entries not in the w83781d are Winbond Smart Fan I/II:
|
|
Please read "7.7 FAN Speed Count and FAN Speed Control" of W83792AD/D datasheet
|
|
before you read the explanation to the /proc entries below.
|
|
|
|
fan_cfg: indicates the fan speed control mode: 0 means PWM/DC mode,
|
|
1 means Smart Fan I(Thermal Cruise) mode, 2 or 3 means Smart Fan II
|
|
mode. There are three items in this entry, the first one is the
|
|
configuration of Fan1, the rest may be deduced by analogy.
|
|
|
|
pwm_flag: valid under PWM/DC mode, 1 means PWM mode, 0 means DC mode.
|
|
There are three items in this entry, the first one is PWM/DC mode
|
|
of Fan1, the rest may be deduced by analogy.
|
|
|
|
thermal_cruise: valid under Smart Fan I mode, indicates the wanted
|
|
temperature. There are three items in this entry, the first one
|
|
is setting temperature of Fan1, the rest may be deduced by analogy.
|
|
|
|
fan_tolerance: valid under Smart Fan I or Smart Fan II mode, indicates
|
|
the interval temperature. There are also three items in this entry.
|
|
|
|
sf2_points_fan1: valid under Smart Fan II mode, there are four items in
|
|
this entry, indicates the Temp.[1-4] in "Figure 8. Smart Fan II
|
|
behavior" to Fan1.
|
|
|
|
sf2_points_fan2: almost same as the above one, except that this entry
|
|
is for Fan2.
|
|
|
|
sf2_points_fan3: almost same as the above one, except that this entry
|
|
is for Fan3.
|
|
|
|
sf2_levels_fan1: valid under Smart Fan II mode, there are four items in
|
|
this entry, indicates the "Non-Stop Duty Cycle" and "Fan Duty Cycle
|
|
Level [1-3]" in "Figure 8. Smart Fan II behavior" to Fan1. The
|
|
first item "Non-Stop Duty Cycle" is read only in this driver, while
|
|
the other three items can be modified.
|
|
|
|
sf2_levels_fan2: almost same as the above one, except that this entry
|
|
is for Fan2.
|
|
|
|
sf2_levels_fan3: almost same as the above one, except that this entry
|
|
is for Fan3.
|
|
|
|
|
|
additional entries for chassis intrusion detection:
|
|
chassis: There are two items in this entry, the first one indicats the
|
|
chassis status, 1 means chassis intrusion detected, while 1 means
|
|
normal. The second item in this entry is used to clear the
|
|
detected chassis intrusion interrupt and reset the chassis status
|
|
to normal.
|
|
|
|
|
|
Author/Maintainer
|
|
-----------------
|
|
Original 792D support: Chunhao Huang(huang0@winbond.com.tw)
|
|
subclients register added by: Mark D. Studebaker(mdsxyz123@yahoo.com)
|
|
and modified by Jean Delvare <khali@linux-fr.org>.
|