g762.rst 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. Kernel driver g762
  2. ==================
  3. The GMT G762 Fan Speed PWM Controller is connected directly to a fan
  4. and performs closed-loop or open-loop control of the fan speed. Two
  5. modes - PWM or DC - are supported by the device.
  6. For additional information, a detailed datasheet is available at
  7. http://natisbad.org/NAS/ref/GMT_EDS-762_763-080710-0.2.pdf. sysfs
  8. bindings are described in Documentation/hwmon/sysfs-interface.rst.
  9. The following entries are available to the user in a subdirectory of
  10. /sys/bus/i2c/drivers/g762/ to control the operation of the device.
  11. This can be done manually using the following entries but is usually
  12. done via a userland daemon like fancontrol.
  13. Note that those entries do not provide ways to setup the specific
  14. hardware characteristics of the system (reference clock, pulses per
  15. fan revolution, ...); Those can be modified via devicetree bindings
  16. documented in Documentation/devicetree/bindings/hwmon/gmt,g762.yaml or
  17. using a specific platform_data structure in board initialization
  18. file (see include/linux/platform_data/g762.h).
  19. fan1_target:
  20. set desired fan speed. This only makes sense in closed-loop
  21. fan speed control (i.e. when pwm1_enable is set to 2).
  22. fan1_input:
  23. provide current fan rotation value in RPM as reported by
  24. the fan to the device.
  25. fan1_div:
  26. fan clock divisor. Supported value are 1, 2, 4 and 8.
  27. fan1_pulses:
  28. number of pulses per fan revolution. Supported values
  29. are 2 and 4.
  30. fan1_fault:
  31. reports fan failure, i.e. no transition on fan gear pin for
  32. about 0.7s (if the fan is not voluntarily set off).
  33. fan1_alarm:
  34. in closed-loop control mode, if fan RPM value is 25% out
  35. of the programmed value for over 6 seconds 'fan1_alarm' is
  36. set to 1.
  37. pwm1_enable:
  38. set current fan speed control mode i.e. 1 for manual fan
  39. speed control (open-loop) via pwm1 described below, 2 for
  40. automatic fan speed control (closed-loop) via fan1_target
  41. above.
  42. pwm1_mode:
  43. set or get fan driving mode: 1 for PWM mode, 0 for DC mode.
  44. pwm1:
  45. get or set PWM fan control value in open-loop mode. This is an
  46. integer value between 0 and 255. 0 stops the fan, 255 makes
  47. it run at full speed.
  48. Both in PWM mode ('pwm1_mode' set to 1) and DC mode ('pwm1_mode' set to 0),
  49. when current fan speed control mode is open-loop ('pwm1_enable' set to 1),
  50. the fan speed is programmed by setting a value between 0 and 255 via 'pwm1'
  51. entry (0 stops the fan, 255 makes it run at full speed). In closed-loop mode
  52. ('pwm1_enable' set to 2), the expected rotation speed in RPM can be passed to
  53. the chip via 'fan1_target'. In closed-loop mode, the target speed is compared
  54. with current speed (available via 'fan1_input') by the device and a feedback
  55. is performed to match that target value. The fan speed value is computed
  56. based on the parameters associated with the physical characteristics of the
  57. system: a reference clock source frequency, a number of pulses per fan
  58. revolution, etc.
  59. Note that the driver will update its values at most once per second.