0ksphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget /translations/zh_CN/hwmon/w83793modnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget /translations/zh_TW/hwmon/w83793modnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget /translations/it_IT/hwmon/w83793modnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget /translations/ja_JP/hwmon/w83793modnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget /translations/ko_KR/hwmon/w83793modnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget /translations/sp_SP/hwmon/w83793modnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hKernel driver w83793h]hKernel driver w83793}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh:/var/lib/git/docbuild/linux/Documentation/hwmon/w83793.rsthKubh paragraph)}(hSupported chips:h]hSupported chips:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh block_quote)}(hv* Winbond W83793G/W83793R Prefix: 'w83793' Addresses scanned: I2C 0x2c - 0x2f Datasheet: Still not published h]h bullet_list)}(hhh]h list_item)}(hnWinbond W83793G/W83793R Prefix: 'w83793' Addresses scanned: I2C 0x2c - 0x2f Datasheet: Still not published h](h)}(hWinbond W83793G/W83793Rh]hWinbond W83793G/W83793R}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubh)}(hPrefix: 'w83793'h]hPrefix: ‘w83793’}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubh)}(h"Addresses scanned: I2C 0x2c - 0x2fh]h"Addresses scanned: I2C 0x2c - 0x2f}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubh)}(hDatasheet: Still not publishedh]hDatasheet: Still not published}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubeh}(h]h ]h"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]bullet*uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhdefinition_list)}(hhh]hdefinition_list_item)}(hPAuthors: - Yuan Mu (Winbond Electronics) - Rudolf Marek h](hterm)}(hAuthors:h]hAuthors:}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKhj+ubh definition)}(hhh]h)}(hhh](h)}(hYuan Mu (Winbond Electronics)h]h)}(hjIh]hYuan Mu (Winbond Electronics)}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjGubah}(h]h ]h"]h$]h&]uh1hhjDubh)}(h%Rudolf Marek h]h)}(h#Rudolf Marek h](hRudolf Marek <}(hjbhhhNhNubh reference)}(hr.marek@assembler.czh]hr.marek@assembler.cz}(hjlhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:r.marek@assembler.czuh1jjhjbubh>}(hjbhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj^ubah}(h]h ]h"]h$]h&]uh1hhjDubeh}(h]h ]h"]h$]h&]j-uh1hhhhKhjAubah}(h]h ]h"]h$]h&]uh1j?hj+ubeh}(h]h ]h"]h$]h&]uh1j)hhhKhj&ubah}(h]h ]h"]h$]h&]uh1j$hhhhhNhNubh)}(hhh](h)}(hModule parametersh]hModule parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(hreset 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. h]j%)}(hhh]j*)}(hreset 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. h](j0)}(h reset inth]h reset int}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKhjubj@)}(hhh](h)}(h (default 0)h]h (default 0)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hThis parameter is not recommended, it will lose motherboard specific settings. Use 'reset=1' to reset the chip when loading this module.h]hThis parameter is not recommended, it will lose motherboard specific settings. Use ‘reset=1’ to reset the chip when loading this module.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhKhjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hforce_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. h]j%)}(hhh]j*)}(hforce_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. h](j0)}(h(force_subclients=bus,caddr,saddr1,saddr2h]h(force_subclients=bus,caddr,saddr1,saddr2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhK!hjubj@)}(hhh]h)}(hThis 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.h](h[This is used to force the i2c addresses for subclients of a certain chip. Typical usage is }(hj%hhhNhNubhtitle_reference)}(h#`force_subclients=0,0x2f,0x4a,0x4b`h]h!force_subclients=0,0x2f,0x4a,0x4b}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j-hj%ubhN to force the subclients of chip 0x2f on bus 0 to i2c addresses 0x4a and 0x4b.}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj"ubah}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhK!hj ubah}(h]h ]h"]h$]h&]uh1j$hj ubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubeh}(h]h ]h"]h$]h&]jjuh1hhhhKhjhhubeh}(h]module-parametersah ]h"]module parametersah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhjmhhhhhK$ubh)}(hAThis driver implements support for Winbond W83793G/W83793R chips.h]hAThis driver implements support for Winbond W83793G/W83793R chips.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjmhhubh)}(hhh](h)}(hXExported 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. h]j%)}(hhh]j*)}(hExported 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. h](j0)}(hExported featuresh]hExported features}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhK,hjubj@)}(hhh]h)}(hThis 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.h]hThis 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhK,hjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hXSensor 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. h]j%)}(hhh]j*)}(hXSensor 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. h](j0)}(hSensor resolutionsh]hSensor resolutions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhK2hjubj@)}(hhh]h)}(hIf 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.h]hIf 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhK2hjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hXTemperature 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). h]j%)}(hhh]j*)}(hXTemperature 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). h](j0)}(hTemperature sensor typesh]hTemperature sensor types}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhK>hjubj@)}(hhh](h)}(hSTemp1-4 have 2 possible types. It can be read from (and written to) temp[1-4]_type.h]hSTemp1-4 have 2 possible types. It can be read from (and written to) temp[1-4]_type.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hj,ubh)}(hhh](h)}(hNIf the value is 3, it starts monitoring using a remote termal diode (default).h]h)}(hNIf the value is 3, it starts monitoring using a remote termal diode (default).h]hNIf the value is 3, it starts monitoring using a remote termal diode (default).}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hj@ubah}(h]h ]h"]h$]h&]uh1hhj=ubh)}(hjIf the value is 6, it starts monitoring using the temperature sensor in Intel CPU and get result by PECI. h]h)}(hiIf the value is 6, it starts monitoring using the temperature sensor in Intel CPU and get result by PECI.h]hiIf the value is 6, it starts monitoring using the temperature sensor in Intel CPU and get result by PECI.}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjXubah}(h]h ]h"]h$]h&]uh1hhj=ubeh}(h]h ]h"]h$]h&]jjuh1hhhhK8hj,ubh)}(hPTemp5-6 can be connected to external thermistors (value of temp[5-6]_type is 4).h]hPTemp5-6 can be connected to external thermistors (value of temp[5-6]_type is 4).}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hj,ubeh}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhK>hjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hXAlarm 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. h]j%)}(hhh]j*)}(hXAlarm 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. h](j0)}(hAlarm mechanismh]hAlarm mechanism}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKGhjubj@)}(hhh]h)}(hXFor 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.h]hXFor 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhKGhjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hXSmartFan/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. h]j%)}(hhh]j*)}(hXSmartFan/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. h](j0)}(hSmartFan/PWM controlh]hSmartFan/PWM control}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKbhjubj@)}(hhh](h)}(hX1If 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.h]hX1If 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubh)}(hXEach 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.h]hXEach 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubh)}(hXsIn 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.h]hXsIn 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubh)}(hXSmartFanII 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.h]hXSmartFanII 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.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubeh}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhKbhjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hChassis If the case open alarm triggers, it will stay in this state unless cleared by writing 0 to the sysfs file "intrusion0_alarm". h]j%)}(hhh]j*)}(hChassis If the case open alarm triggers, it will stay in this state unless cleared by writing 0 to the sysfs file "intrusion0_alarm". h](j0)}(hChassish]hChassis}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKfhjQubj@)}(hhh]h)}(h}If the case open alarm triggers, it will stay in this state unless cleared by writing 0 to the sysfs file "intrusion0_alarm".h]hIf the case open alarm triggers, it will stay in this state unless cleared by writing 0 to the sysfs file “intrusion0_alarm”.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjcubah}(h]h ]h"]h$]h&]uh1j?hjQubeh}(h]h ]h"]h$]h&]uh1j)hhhKfhjNubah}(h]h ]h"]h$]h&]uh1j$hjJubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hVID 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. h]j%)}(hhh]j*)}(hVID 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. h](j0)}(h VID and VRMh]h VID and VRM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j/hhhKkhjubj@)}(hhh]h)}(hThe VRM version is detected automatically, don't modify the it unless you *do* know the cpu VRM version and it's not properly detected.h](hLThe VRM version is detected automatically, don’t modify the it unless you }(hjhhhNhNubhemphasis)}(h*do*h]hdo}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh; know the cpu VRM version and it’s not properly detected.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKihjubah}(h]h ]h"]h$]h&]uh1j?hjubeh}(h]h ]h"]h$]h&]uh1j)hhhKkhjubah}(h]h ]h"]h$]h&]uh1j$hjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubeh}(h]h ]h"]h$]h&]jjuh1hhhhK(hjmhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(hNotesh]hNotes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKnubh)}(hOnly 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.h]h)}(hOnly 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.h]hOnly 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1hhhhKphjhhubeh}(h]notesah ]h"]notesah$]h&]uh1hhhhhhhhKnubeh}(h]kernel-driver-w83793ah ]h"]kernel driver w83793ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjLerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j&j#jjjgjjjju nametypes}(j&jjjjuh}(j#hjgjjjmjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.