aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/hwmon/g762
diff options
context:
space:
mode:
authorArnaud Ebalard <arno@natisbad.org>2013-06-20 16:21:04 -0400
committerGuenter Roeck <linux@roeck-us.net>2013-06-27 13:31:42 -0400
commit594fbe713bf60073ed884dc317a74dd5b327aba7 (patch)
treea93240b841e0e913efbf000b6b22d6ce29ea467e /Documentation/hwmon/g762
parent31e7ad74f6044ffec112fd4975c07b797589d89c (diff)
Add support for GMT G762/G763 PWM fan controllers
GMT G762/763 fan speed PWM controller is connected directly to a fan and performs closed-loop or open-loop control of the fan speed. Two modes - PWM or DC - are supported by the chip. Introduced driver provides various knobs to control the operations of the chip (via sysfs interface). Specific characteristics of the system can be passed either using board init code or via DT. Documentation for both the driver and DT bindings are also provided. Signed-off-by: Arnaud Ebalard <arno@natisbad.org> Tested-by: Simon Guinot <simon.guinot@sequanux.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'Documentation/hwmon/g762')
-rw-r--r--Documentation/hwmon/g76265
1 files changed, 65 insertions, 0 deletions
diff --git a/Documentation/hwmon/g762 b/Documentation/hwmon/g762
new file mode 100644
index 000000000000..923db9c5b5bc
--- /dev/null
+++ b/Documentation/hwmon/g762
@@ -0,0 +1,65 @@
1Kernel driver g762
2==================
3
4The GMT G762 Fan Speed PWM Controller is connected directly to a fan
5and performs closed-loop or open-loop control of the fan speed. Two
6modes - PWM or DC - are supported by the device.
7
8For additional information, a detailed datasheet is available at
9http://natisbad.org/NAS/ref/GMT_EDS-762_763-080710-0.2.pdf. sysfs
10bindings are described in Documentation/hwmon/sysfs-interface.
11
12The following entries are available to the user in a subdirectory of
13/sys/bus/i2c/drivers/g762/ to control the operation of the device.
14This can be done manually using the following entries but is usually
15done via a userland daemon like fancontrol.
16
17Note that those entries do not provide ways to setup the specific
18hardware characteristics of the system (reference clock, pulses per
19fan revolution, ...); Those can be modified via devicetree bindings
20documented in Documentation/devicetree/bindings/hwmon/g762.txt or
21using a specific platform_data structure in board initialization
22file (see include/linux/platform_data/g762.h).
23
24 fan1_target: set desired fan speed. This only makes sense in closed-loop
25 fan speed control (i.e. when pwm1_enable is set to 2).
26
27 fan1_input: provide current fan rotation value in RPM as reported by
28 the fan to the device.
29
30 fan1_div: fan clock divisor. Supported value are 1, 2, 4 and 8.
31
32 fan1_pulses: number of pulses per fan revolution. Supported values
33 are 2 and 4.
34
35 fan1_fault: reports fan failure, i.e. no transition on fan gear pin for
36 about 0.7s (if the fan is not voluntarily set off).
37
38 fan1_alarm: in closed-loop control mode, if fan RPM value is 25% out
39 of the programmed value for over 6 seconds 'fan1_alarm' is
40 set to 1.
41
42 pwm1_enable: set current fan speed control mode i.e. 1 for manual fan
43 speed control (open-loop) via pwm1 described below, 2 for
44 automatic fan speed control (closed-loop) via fan1_target
45 above.
46
47 pwm1_mode: set or get fan driving mode: 1 for PWM mode, 0 for DC mode.
48
49 pwm1: get or set PWM fan control value in open-loop mode. This is an
50 integer value between 0 and 255. 0 stops the fan, 255 makes
51 it run at full speed.
52
53Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0),
54when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
55the fan speed is programmed by setting a value between 0 and 255 via 'pwm1'
56entry (0 stops the fan, 255 makes it run at full speed). In closed-loop mode
57('pwm1_enable' set to 2), the expected rotation speed in RPM can be passed to
58the chip via 'fan1_target'. In closed-loop mode, the target speed is compared
59with current speed (available via 'fan1_input') by the device and a feedback
60is performed to match that target value. The fan speed value is computed
61based on the parameters associated with the physical characteristics of the
62system: a reference clock source frequency, a number of pulses per fan
63revolution, etc.
64
65Note that the driver will update its values at most once per second.