]> git.sur5r.net Git - groeck-nct6775/blobdiff - README
hwmon: (nct6775) Introduce separate temperature labels for NCT6792 and NCT6793
[groeck-nct6775] / README
diff --git a/README b/README
index 7ffc83ee6f13c45109d910d9c3e14dca5d830ab6..87d58265549bf9b6c6b44ba7040a658221a706bf 100644 (file)
--- a/README
+++ b/README
@@ -1,19 +1,24 @@
 Note
 ====
 
-This driver is experimental and has only been tested on NCT6775F and NCT6776F.
-
-ABI (sysfs attribute support) is not final and is expected to change
-repeatedly before the driver is stable. Until then, please feel free
-to provide your input.
-
 This driver supercedes the NCT6775F and NCT6776F support in the W83627EHF
-driver.
+driver. It supports NCT6106D, NCT6775F, NCT6776F, NCT6779D, NCT6791D, and
+NCT6792D.
+
+The driver is also available in the upstream kernel. This version is maintained
+for backward compatibility with older kernels. I am trying to keep it buildable
+for older kernels, but may miss a problem once in a while. If you have a problem
+compiling this driver with any kernel version 2.6.32 or later, please let me
+know. 
 
 Kernel driver NCT6775
 =======================
 
 Supported chips:
+  * Nuvoton NCT6102D/NCT6104D/NCT6106D
+    Prefix: 'nct6106'
+    Addresses scanned: ISA address retrieved from Super I/O registers
+    Datasheet: Available from Nuvoton upon request
   * Nuvoton NCT6775F/W83667HG-I
     Prefix: 'nct6775'
     Addresses scanned: ISA address retrieved from Super I/O registers
@@ -26,15 +31,25 @@ Supported chips:
     Prefix: 'nct6779'
     Addresses scanned: ISA address retrieved from Super I/O registers
     Datasheet: Available from Nuvoton upon request
+  * Nuvoton NCT6791D
+    Prefix: 'nct6791'
+    Addresses scanned: ISA address retrieved from Super I/O registers
+    Datasheet: Available from Nuvoton upon request
+  * Nuvoton NCT6792D
+    Prefix: 'nct6792'
+    Addresses scanned: ISA address retrieved from Super I/O registers
+    Datasheet: Available from Nuvoton upon request
 
 Authors:
         Guenter Roeck <linux@roeck-us.net>
+        David Bartley <andareed@gmail.com> (NCT6791D support)
 
 Description
 -----------
 
-This driver implements support for the Nuvoton NCT6775F, NCT6776F, and NCT6779D
-super I/O chips. We will refer to them collectively as Nuvoton chips.
+This driver implements support for the Nuvoton NCT6106D, NCT6775F, NCT6776F,
+NCT6779D, NCT6791D, and NCT6792D super I/O chips. We will refer to them
+collectively as Nuvoton chips.
 
 The chips implement up to 8 temperature sensors depending on the chip type and
 configuration. Temperatures used to control fan speed are reported separately.
@@ -72,14 +87,8 @@ is driven slower/faster to reach the predefined range again.
 
 The mode works for fan1-fan5.
 
-The temperature source used to control pwm1..pwm5 can be configured with
-pwm[1..5]_temp_sel and pwm[1..5]_weight_temp_sel. The value reported and
-configured with those attributes is the temperature sensor attribute index.
-For example, to map the source of temp1_input to pwm1_temp_sel, write 1
-into the pwm1_temp_sel attribute.
-
-/sys files
-----------
+sysfs attributes
+----------------
 
 name - this is a standard hwmon device entry, it contains the name of
        the device (see the prefix in the list of supported devices at
@@ -100,8 +109,35 @@ pwm[1-5]_mode - controls if output is PWM or DC level
         * 0 DC output (0 - 12v)
         * 1 PWM output
 
-Thermal Cruise mode
--------------------
+Common fan control attributes
+-----------------------------
+
+pwm[1-5]_temp_sel      Temperature source. Value is temperature sensor index.
+                       For example, select '1' for temp1_input.
+pwm[1-5]_weight_temp_sel
+                       Secondary temperature source. Value is temperature
+                       sensor index. For example, select '1' for temp1_input.
+pwm[1-5]_weight_enable Set to 1 to enable secondary temperature control.
+
+If secondary temperature functionality is enabled, it is controlled with the
+following attributes.
+
+pwm[1-5]_weight_duty_step
+                       Duty step size.
+pwm[1-5]_weight_temp_step
+                       Temperature step size. With each step over
+                       temp_step_base, the value of weight_duty_step is added
+                       to the current pwm value.
+pwm[1-5]_weight_temp_step_base
+                       Temperature at which secondary temperature control kicks
+                       in.
+pwm[1-5]_weight_temp_step_tol
+                       Temperature step tolerance or hysteresis. This is a
+                       relative value.
+
+
+Thermal Cruise mode (2)
+-----------------------
 
 If the temperature is in the range defined by:
 
@@ -117,34 +153,66 @@ using the following steps and times.
 
 pwm[1-5]_start_output  fan pwm start value (range 1 - 255), to start fan
                        when the temperature is above defined range.
-pwm[1-5]_stop_output   fan pwm (range 1 - 255) to stop fan.
+pwm[1-5]_stop_output   lowest fan pwm (range 1 - 255) if temperature is below
+                       the defined range.
+pwm[1-5]_stop_output_enable
+                       Set to 1 to enable pwm[1-5]_stop_output. If disabled
+                       (set to 0), the fan will stop if the temperature is
+                       below the defined range.
 pwm[1-5]_step_up_time  milliseconds [ms] before fan speed is increased
 pwm[1-5]_step_down_time        milliseconds [ms] before fan speed is decreased
 pwm[1-5]_stop_time     how many milliseconds [ms] must elapse to switch
-                       corresponding fan off. (when the temperature was below
+                       corresponding fan off (when the temperature was below
                        defined range).
 
-Speed Cruise mode
------------------
+Speed Cruise mode (3)
+---------------------
 
 This modes tries to keep the fan speed constant.
 Untested; use at your own risk.
 
+Smart Fan IV mode (5)
+---------------------
 
-Usage Notes
------------
+The fan is regulated to maintain a target temperature. There are five data
+points. Subsequent data points should be set to higher temperatures and higher
+pwm values to achieve higher fan speeds with increasing temperature. The last
+data point reflects critical temperature mode, in which the fans should run at
+full speed.
 
-On various ASUS boards, it appears that CPUTIN is not really connected to
-anything and floats, or that it is connected to some non-standard temperature
-measurement device. As a result, the temperature reported on CPUTIN will not
-reflect a usable value. It often reports unreasonablyy high temperatures, and in
-some cases the reported temperature declines if the actual temperature
-increases.
-CPUTIN should therefore be be ignored on ASUS boards. The CPU temperature
-on ASUS boards is reported from PECI 0.
+pwm[1-5]_auto_point[1-5]_pwm
+                       pwm value to be set if temperature reaches matching
+                       temperature range.
+pwm[1-5]_auto_point[1-5]_temp
+                       Temperature at which the matching pwm is enabled.
+pwm[1-5]_step_up_time  milliseconds [ms] before fan speed is increased
+pwm[1-5]_step_down_time        milliseconds [ms] before fan speed is decreased
 
 
-Implementation Details
-----------------------
+Usage Notes
+-----------
 
-TBD
+On various ASUS boards with NCT6776F, it appears that CPUTIN is not really
+connected to anything and floats, or that it is connected to some non-standard
+temperature measurement device. As a result, the temperature reported on CPUTIN
+will not reflect a usable value. It often reports unreasonably high
+temperatures, and in some cases the reported temperature declines if the actual
+temperature increases (similar to the raw PECI temperature value - see PECI
+specification for details). CPUTIN should therefore be be ignored on ASUS
+boards. The CPU temperature on ASUS boards is reported from PECI 0.
+
+Also, there have been reports that not all fan speeds are reported on at least
+some ASUS boards. P9X79 WS is one example, where fan speed is only reported
+for two of the fans on the board.
+
+Note that ASUS does not support Linux on desktop boards (this appears to be
+official ASUS policy) and does not release board specifications, so there is
+nothing we can do to improve support for such boards unless we get board
+specifications or a detailed description on how to control the fans on the
+affected boards.
+
+Known Problems
+--------------
+
+After a suspend/resume cycle, all fan control settings are restored to the BIOS
+defaults.