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@3032 7894878c-1315-0410-8ee3-d5d059ff63e0
299 lines
15 KiB
Plaintext
299 lines
15 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
|
|
Datasheet: http://www.winbond.com.tw/E-WINBONDHTM/partner/PDFresult.asp?Pname=1035
|
|
|
|
Author: Chunhao Huang
|
|
Contact: DZShen <DZShen@Winbond.com.tw>
|
|
|
|
|
|
Module Parameters
|
|
-----------------
|
|
|
|
* init int
|
|
(default 1)
|
|
Use 'init=0' to bypass initializing the chip.
|
|
Try this if your computer crashes when you load the module.
|
|
|
|
* force_subclients=bus,caddr,saddr,saddr
|
|
This is used to force the i2c addresses for subclients of
|
|
a certain chip. Example usage is `force_subclients=0,0x2f,0x4a,0x4b'
|
|
to force the subclients of chip 0x2f on bus 0 to i2c addresses
|
|
0x4a and 0x4b.
|
|
|
|
|
|
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 (Bank with ID register is not
|
|
currently selected). 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 two automatic fan regulation
|
|
strategies called: Smart Fan I (Thermal Cruise mode) and Smart Fan II.
|
|
Automatic fan control mode is possible only for fan1-fan3. Fan4-fan7 can run
|
|
synchronized with selected fan (fan1-fan3). This functionality and manual PWM
|
|
control for fan4-fan7 is not yet implemented.
|
|
|
|
Temperatures are measured in degrees Celsius and measurement resolution is 1
|
|
degC for temp1 and 0.5 degC for temp2 and temp3. An alarm is triggered when
|
|
the temperature gets higher than the Overtemperature Shutdown value; it stays
|
|
on until the temperature falls 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 modifies 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.
|
|
|
|
Alarms are provided as output from "realtime status register". Following bits
|
|
are defined:
|
|
|
|
bit - alarm on:
|
|
0 - in0
|
|
1 - in1
|
|
2 - temp1
|
|
3 - temp2
|
|
4 - temp3
|
|
5 - fan1
|
|
6 - fan2
|
|
7 - fan3
|
|
8 - in2
|
|
9 - in3
|
|
10 - in4
|
|
11 - in5
|
|
12 - in6
|
|
13 - VID change
|
|
14 - chassis
|
|
15 - fan7
|
|
16 - tart1
|
|
17 - tart2
|
|
18 - tart3
|
|
19 - in7
|
|
20 - in8
|
|
21 - fan4
|
|
22 - fan5
|
|
23 - fan6
|
|
|
|
Tart will be asserted while target temperature cannot be achieved after 3 minutes
|
|
of full speed rotation of corresponding fan.
|
|
|
|
In addition to the alarms described above, there is a CHAS alarm on the chips
|
|
which triggers if your computer case is open (This one is latched, contrary
|
|
to realtime alarms).
|
|
|
|
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. Adding support is welcome.
|
|
- The function of chassis open detection needs more tests.
|
|
- If you have ASUS server board and chip was not found: Then you will
|
|
need to upgrade to latest (or beta) BIOS. If it does not help please
|
|
contact us.
|
|
|
|
|
|
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.
|