mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
4.2 KiB
113 lines
4.2 KiB
Kernel driver w83793 |
|
==================== |
|
|
|
Supported chips: |
|
|
|
* Winbond W83793G/W83793R |
|
|
|
Prefix: 'w83793' |
|
|
|
Addresses scanned: I2C 0x2c - 0x2f |
|
|
|
Datasheet: Still not published |
|
|
|
Authors: |
|
- Yuan Mu (Winbond Electronics) |
|
- Rudolf Marek <[email protected]> |
|
|
|
|
|
Module parameters |
|
----------------- |
|
|
|
* reset int |
|
(default 0) |
|
|
|
This parameter is not recommended, it will lose motherboard specific |
|
settings. Use 'reset=1' to reset the chip when loading this module. |
|
|
|
* force_subclients=bus,caddr,saddr1,saddr2 |
|
This is used to force the i2c addresses for subclients of |
|
a certain chip. Typical 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 Winbond W83793G/W83793R chips. |
|
|
|
* Exported features |
|
This driver exports 10 voltage sensors, up to 12 fan tachometer inputs, |
|
6 remote temperatures, up to 8 sets of PWM fan controls, SmartFan |
|
(automatic fan speed control) on all temperature/PWM combinations, 2 |
|
sets of 6-pin CPU VID input. |
|
|
|
* Sensor resolutions |
|
If your motherboard maker used the reference design, the resolution of |
|
voltage0-2 is 2mV, resolution of voltage3/4/5 is 16mV, 8mV for voltage6, |
|
24mV for voltage7/8. Temp1-4 have a 0.25 degree Celsius resolution, |
|
temp5-6 have a 1 degree Celsiis resolution. |
|
|
|
* Temperature sensor types |
|
Temp1-4 have 2 possible types. It can be read from (and written to) |
|
temp[1-4]_type. |
|
|
|
- If the value is 3, it starts monitoring using a remote termal diode |
|
(default). |
|
- If the value is 6, it starts monitoring using the temperature sensor |
|
in Intel CPU and get result by PECI. |
|
|
|
Temp5-6 can be connected to external thermistors (value of |
|
temp[5-6]_type is 4). |
|
|
|
* Alarm mechanism |
|
For voltage sensors, an alarm triggers if the measured value is below |
|
the low voltage limit or over the high voltage limit. |
|
For temperature sensors, an alarm triggers if the measured value goes |
|
above the high temperature limit, and wears off only after the measured |
|
value drops below the hysteresis value. |
|
For fan sensors, an alarm triggers if the measured value is below the |
|
low speed limit. |
|
|
|
* SmartFan/PWM control |
|
If you want to set a pwm fan to manual mode, you just need to make sure it |
|
is not controlled by any temp channel, for example, you want to set fan1 |
|
to manual mode, you need to check the value of temp[1-6]_fan_map, make |
|
sure bit 0 is cleared in the 6 values. And then set the pwm1 value to |
|
control the fan. |
|
|
|
Each temperature channel can control all the 8 PWM outputs (by setting the |
|
corresponding bit in tempX_fan_map), you can set the temperature channel |
|
mode using temp[1-6]_pwm_enable, 2 is Thermal Cruise mode and 3 |
|
is the SmartFanII mode. Temperature channels will try to speed up or |
|
slow down all controlled fans, this means one fan can receive different |
|
PWM value requests from different temperature channels, but the chip |
|
will always pick the safest (max) PWM value for each fan. |
|
|
|
In Thermal Cruise mode, the chip attempts to keep the temperature at a |
|
predefined value, within a tolerance margin. So if tempX_input > |
|
thermal_cruiseX + toleranceX, the chip will increase the PWM value, |
|
if tempX_input < thermal_cruiseX - toleranceX, the chip will decrease |
|
the PWM value. If the temperature is within the tolerance range, the PWM |
|
value is left unchanged. |
|
|
|
SmartFanII works differently, you have to define up to 7 PWM, temperature |
|
trip points, defining a PWM/temperature curve which the chip will follow. |
|
While not fundamentally different from the Thermal Cruise mode, the |
|
implementation is quite different, giving you a finer-grained control. |
|
|
|
* Chassis |
|
If the case open alarm triggers, it will stay in this state unless cleared |
|
by writing 0 to the sysfs file "intrusion0_alarm". |
|
|
|
* VID and VRM |
|
The VRM version is detected automatically, don't modify the it unless you |
|
*do* know the cpu VRM version and it's not properly detected. |
|
|
|
|
|
Notes |
|
----- |
|
|
|
Only Fan1-5 and PWM1-3 are guaranteed to always exist, other fan inputs and |
|
PWM outputs may or may not exist depending on the chip pin configuration.
|
|
|