]> git.sur5r.net Git - groeck-nct6775/blob - README
Add README
[groeck-nct6775] / README
1 Note
2 ====
3
4 This driver is experimental and has only been tested on NCT6775F.
5
6 This driver supercedes the NCT6775F and NCT6776F support in the W83627EHF
7 driver.
8
9 Kernel driver NCT6775
10 =======================
11
12 Supported chips:
13   * Nuvoton NCT6775F/W83667HG-I
14     Prefix: 'nct6775'
15     Addresses scanned: ISA address retrieved from Super I/O registers
16     Datasheet: Available from Nuvoton upon request
17   * Nuvoton NCT6776F
18     Prefix: 'nct6776'
19     Addresses scanned: ISA address retrieved from Super I/O registers
20     Datasheet: Available from Nuvoton upon request
21   * Nuvoton NCT6779D
22     Prefix: 'nct6776'
23     Addresses scanned: ISA address retrieved from Super I/O registers
24     Datasheet: Available from Nuvoton upon request
25
26 Authors:
27         Guenter Roeck <linux@roeck-us.net>
28
29 Description
30 -----------
31
32 This driver implements support for the Nuvoton NCT6775F, NCT6776F, and NCT6779D
33 super I/O chips. We will refer to them collectively as Nuvoton chips.
34
35 The chips implement 2 to 4 temperature sensors (9 for NCT6775F and NCT6776F),
36 2 to 5 fan rotation speed sensors, 8 to 15 analog voltage sensors, one VID,
37 alarms with beep warnings (control unimplemented), and some automatic fan
38 regulation strategies (plus manual fan control mode).
39
40 The temperature sensor sources on all chips are configurable. temp4 and higher
41 attributes are only reported if its temperature source differs from the
42 temperature sources of the already reported temperature sensors.
43 The configured source for each of the temperature sensors is provided
44 in tempX_label.
45
46 Temperatures are measured in degrees Celsius and measurement resolution is 1
47 degC for temp1 and and 0.5 degC for temp2 and temp3. For temp4 and higher,
48 resolution is 1 degC for W83667HG-B and 0.5 degC for NCT6775F and NCT6776F.
49 An alarm is triggered when the temperature gets higher than high limit;
50 it stays on until the temperature falls below the hysteresis value.
51 Alarms are only supported for temp1, temp2, and temp3.
52
53 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
54 triggered if the rotation speed has dropped below a programmable limit. Fan
55 readings can be divided by a programmable divider (1, 2, 4, 8, 16, 32, 64 or
56 128) to give the readings more range or accuracy. The driver sets the most
57 suitable fan divisor itself. Some fans might not be present because they
58 share pins with other functions.
59
60 Voltage sensors (also known as IN sensors) report their values in millivolts.
61 An alarm is triggered if the voltage has crossed a programmable minimum
62 or maximum limit.
63
64 The driver supports automatic fan control mode known as Thermal Cruise.
65 In this mode, the chip attempts to keep the measured temperature in a
66 predefined temperature range. If the temperature goes out of range, fan
67 is driven slower/faster to reach the predefined range again.
68
69 The mode works for fan1-fan4. Mapping of temperatures to pwm outputs is as
70 follows:
71
72 temp1 -> pwm1
73 temp2 -> pwm2
74 temp3 -> pwm3
75
76 /sys files
77 ----------
78
79 name - this is a standard hwmon device entry, it contains the name of
80        the device (see the prefix in the list of supported devices at
81        the top of this file)
82
83 pwm[1-5] - this file stores PWM duty cycle or DC value (fan speed) in range:
84            0 (stop) to 255 (full)
85
86 pwm[1-5]_enable - this file controls mode of fan/temperature control:
87         * 1 Manual mode, write to pwm file any value 0-255 (full speed)
88         * 2 "Thermal Cruise" mode
89         * 3 "Fan Speed Cruise" mode
90         * 4 "Smart Fan III" mode
91         * 5 "Smart Fan IV" mode
92
93         SmartFan III mode is not supported on NCT6776F and NCT6779D.
94
95 pwm[1-5]_mode - controls if output is PWM or DC level
96         * 0 DC output (0 - 12v)
97         * 1 PWM output
98
99 Thermal Cruise mode
100 -------------------
101
102 If the temperature is in the range defined by:
103
104 pwm[1-4]_target    - set target temperature, unit millidegree Celsius
105                      (range 0 - 127000)
106 pwm[1-4]_tolerance - tolerance, unit millidegree Celsius (range 0 - 15000)
107
108 There are no changes to fan speed. Once the temperature leaves the interval,
109 fan speed increases (temp is higher) or decreases if lower than desired.
110 There are defined steps and times, but not exported by the driver yet.
111
112 pwm[1-4]_min_output - minimum fan speed (range 1 - 255), when the temperature
113                       is below defined range.
114 pwm[1-4]_stop_time  - how many milliseconds [ms] must elapse to switch
115                       corresponding fan off. (when the temperature was below
116                       defined range).
117
118 Note: last two functions are influenced by other control bits, not yet exported
119       by the driver, so a change might not have any effect.
120
121 Implementation Details
122 ----------------------
123
124 TBD