diff options
Diffstat (limited to 'Documentation/hwmon/w83793')
-rw-r--r-- | Documentation/hwmon/w83793 | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/Documentation/hwmon/w83793 b/Documentation/hwmon/w83793 new file mode 100644 index 000000000000..45e5408340e0 --- /dev/null +++ b/Documentation/hwmon/w83793 | |||
@@ -0,0 +1,110 @@ | |||
1 | Kernel driver w83793 | ||
2 | ==================== | ||
3 | |||
4 | Supported chips: | ||
5 | * Winbond W83793G/W83793R | ||
6 | Prefix: 'w83793' | ||
7 | Addresses scanned: I2C 0x2c - 0x2f | ||
8 | Datasheet: Still not published | ||
9 | |||
10 | Authors: | ||
11 | Yuan Mu (Winbond Electronics) | ||
12 | Rudolf Marek <r.marek@assembler.cz> | ||
13 | |||
14 | |||
15 | Module parameters | ||
16 | ----------------- | ||
17 | |||
18 | * reset int | ||
19 | (default 0) | ||
20 | This parameter is not recommended, it will lose motherboard specific | ||
21 | settings. Use 'reset=1' to reset the chip when loading this module. | ||
22 | |||
23 | * force_subclients=bus,caddr,saddr1,saddr2 | ||
24 | This is used to force the i2c addresses for subclients of | ||
25 | a certain chip. Typical usage is `force_subclients=0,0x2f,0x4a,0x4b' | ||
26 | to force the subclients of chip 0x2f on bus 0 to i2c addresses | ||
27 | 0x4a and 0x4b. | ||
28 | |||
29 | |||
30 | Description | ||
31 | ----------- | ||
32 | |||
33 | This driver implements support for Winbond W83793G/W83793R chips. | ||
34 | |||
35 | * Exported features | ||
36 | This driver exports 10 voltage sensors, up to 12 fan tachometer inputs, | ||
37 | 6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan | ||
38 | (automatic fan speed control) on all temperature/PWM combinations, 2 | ||
39 | sets of 6-pin CPU VID input. | ||
40 | |||
41 | * Sensor resolutions | ||
42 | If your motherboard maker used the reference design, the resolution of | ||
43 | voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6, | ||
44 | 24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution, | ||
45 | temp5-6 have a 1 degree Celsiis resolution. | ||
46 | |||
47 | * Temperature sensor types | ||
48 | Temp1-4 have 3 possible types. It can be read from (and written to) | ||
49 | temp[1-4]_type. | ||
50 | - If the value of 0, the related temperature channel stops | ||
51 | monitoring. | ||
52 | - If the value is 3, it starts monitoring using a remote termal diode | ||
53 | (default). | ||
54 | - If the value is 5, it starts monitoring using the temperature sensor | ||
55 | in AMD CPU and get result by AMDSI. | ||
56 | - If the value is 6, it starts monitoring using the temperature sensor | ||
57 | in Intel CPU and get result by PECI. | ||
58 | Temp5-6 can be connected to external thermistors (value of | ||
59 | temp[5-6]_type is 4). They can also be disabled (value is 0). | ||
60 | |||
61 | * Alarm mechanism | ||
62 | For voltage sensors, an alarm triggers if the measured value is below | ||
63 | the low voltage limit or over the high voltage limit. | ||
64 | For temperature sensors, an alarm triggers if the measured value goes | ||
65 | above the high temperature limit, and wears off only after the measured | ||
66 | value drops below the hysteresis value. | ||
67 | For fan sensors, an alarm triggers if the measured value is below the | ||
68 | low speed limit. | ||
69 | |||
70 | * SmartFan/PWM control | ||
71 | If you want to set a pwm fan to manual mode, you just need to make sure it | ||
72 | is not controlled by any temp channel, for example, you want to set fan1 | ||
73 | to manual mode, you need to check the value of temp[1-6]_fan_map, make | ||
74 | sure bit 0 is cleared in the 6 values. And then set the pwm1 value to | ||
75 | control the fan. | ||
76 | |||
77 | Each temperature channel can control all the 8 PWM outputs (by setting the | ||
78 | corresponding bit in tempX_fan_map), you can set the temperature channel | ||
79 | mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3 | ||
80 | is the SmartFanII mode. Temperature channels will try to speed up or | ||
81 | slow down all controlled fans, this means one fan can receive different | ||
82 | PWM value requests from different temperature channels, but the chip | ||
83 | will always pick the safest (max) PWM value for each fan. | ||
84 | |||
85 | In Thermal Cruise mode, the chip attempts to keep the temperature at a | ||
86 | predefined value, within a tolerance margin. So if tempX_input > | ||
87 | thermal_cruiseX + toleranceX, the chip will increase the PWM value, | ||
88 | if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease | ||
89 | the PWM value. If the temperature is within the tolerance range, the PWM | ||
90 | value is left unchanged. | ||
91 | |||
92 | SmartFanII works differently, you have to define up to 7 PWM, temperature | ||
93 | trip points, defining a PWM/temperature curve which the chip will follow. | ||
94 | While not fundamentally different from the Thermal Cruise mode, the | ||
95 | implementation is quite different, giving you a finer-grained control. | ||
96 | |||
97 | * Chassis | ||
98 | If the case open alarm triggers, it will stay in this state unless cleared | ||
99 | by any write to the sysfs file "chassis". | ||
100 | |||
101 | * VID and VRM | ||
102 | The VRM version is detected automatically, don't modify the it unless you | ||
103 | *do* know the cpu VRM version and it's not properly detected. | ||
104 | |||
105 | |||
106 | Notes | ||
107 | ----- | ||
108 | |||
109 | Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and | ||
110 | PWM outputs may or may not exist depending on the chip pin configuration. | ||