commit
0a13b0a49e
1 changed files with 12 additions and 23 deletions
35
docs/pwm.md
35
docs/pwm.md
|
@ -45,6 +45,7 @@ The term *duty cycle* describes the proportion of 'on' time to the regular inter
|
|||
|
||||
| Description | Header J10 | Header J17 | Remarks |
|
||||
|-----------|---------|-----------|---------|
|
||||
| PWM pin | gpio41 | gpio55 | 5V tolerant |
|
||||
| SENSE pin | gpio43 | gpio48 | SENSE pin is not implemented yet |
|
||||
| PWM Frequency | 25 kHz | 25 kHz | defined in device tree |
|
||||
|
||||
|
@ -187,21 +188,21 @@ fancontrol includes *pwmconfig* script to create automatically a configuration f
|
|||
|
||||
Since hwmon order can be changed between kernel version or even between reboot, on Armbian we use udev rules as workaround. The rules can be found from [here](https://raw.githubusercontent.com/armbian/build/master/packages/bsp/helios4/90-helios4-hwmon.rules) and to be copy to **/etc/udev/rules.d/**
|
||||
|
||||
*/dev/fan-j10, /dev/fan-j17, /dev/thermal-cpu, /dev/thermal-board,* and */dev/thermal-eth* are symlinks generated by the udev rules.
|
||||
|
||||
#### Configuration File
|
||||
|
||||
fancontrol uses **/etc/fancontrol** as configuration file. Below is an example configuration to control fan speed on Helios4.
|
||||
|
||||
```
|
||||
# Helios4 PWM Fan Control Configuration
|
||||
# Temp source : armada_thermal sensor
|
||||
# Temp source : /dev/thermal-cpu
|
||||
INTERVAL=10
|
||||
DEVPATH=hwmon3=devices/platform/j10-pwm hwmon4=devices/platform/j17-pwm hwmon2=devices/platform/soc/soc:internal-regs/f1011000.i2c/i2c-0/0-004c
|
||||
DEVNAME=hwmon1=f10e4078.thermal
|
||||
FCTEMPS=hwmon3/pwm1=hwmon1/temp1_input hwmon4/pwm1=hwmon1/temp1_input
|
||||
MINTEMP=hwmon3/pwm1=40 hwmon4/pwm1=40
|
||||
MAXTEMP=hwmon3/pwm1=80 hwmon4/pwm1=80
|
||||
MINSTART=hwmon3/pwm1=20 hwmon4/pwm1=20
|
||||
MINSTOP=hwmon3/pwm1=29 hwmon4/pwm1=29
|
||||
FCTEMPS=/dev/fan-j10/pwm1=/dev/thermal-cpu/temp1_input /dev/fan-j17/pwm1=/dev/thermal-cpu/temp1_input
|
||||
MINTEMP=/dev/fan-j10/pwm1=40 /dev/fan-j17/pwm1=40
|
||||
MAXTEMP=/dev/fan-j10/pwm1=80 /dev/fan-j17/pwm1=80
|
||||
MINSTART=/dev/fan-j10/pwm1=20 /dev/fan-j17/pwm1=20
|
||||
MINSTOP=/dev/fan-j10/pwm1=29 /dev/fan-j17/pwm1=29
|
||||
MINPWM=20
|
||||
```
|
||||
|
||||
|
@ -209,23 +210,11 @@ INTERVAL
|
|||
|
||||
This variable defines at which interval in seconds the main loop of fancontrol will be executed.
|
||||
|
||||
DEVPATH
|
||||
|
||||
Maps hwmon class devices to physical devices. This lets fancontrol check that the configuration file is still up-to-date.
|
||||
|
||||
It expect the **hwmonN** as symlink to **devices/***
|
||||
|
||||
DEVNAME
|
||||
|
||||
Records hwmon class device names. This lets fancontrol check that the configuration file is still up-to-date.
|
||||
|
||||
Since **armada_thermal** does not create symlink, use *DEVNAME* instead of *DEVPATH*
|
||||
|
||||
FCTEMPS
|
||||
|
||||
Maps PWM outputs to temperature sensors so fancontrol knows which temperature sensors should be used for calculation of new values for the corresponding PWM outputs.
|
||||
|
||||
Fans (**hwmon3** & **hwmon4**) are controlled based on CPU thermal sensor (**hwmon1**) reading.
|
||||
Fans (**fan-j10** & **fan-j17**) are controlled based on CPU thermal sensor (**thermal-cpu**) reading.
|
||||
|
||||
MINSTART
|
||||
|
||||
|
@ -247,13 +236,13 @@ MINTEMP
|
|||
|
||||
The temperature below which the fan gets switched to minimum speed.
|
||||
|
||||
Fans (hwmon2 & hwmon3) runs in minimum speed if the CPU temperature below **40** degree C.
|
||||
Fans (fan-j10 & fan-j17) runs in minimum speed if the CPU temperature below **40** degree C.
|
||||
|
||||
MAXTEMP
|
||||
|
||||
The temperature over which the fan gets switched to maximum speed.
|
||||
|
||||
Fans (hwmon2 & hwmon3) runs in maximum speed if the CPU temperature above **80** degree C.
|
||||
Fans (fan-j10 & fan-j17) runs in maximum speed if the CPU temperature above **80** degree C.
|
||||
|
||||
MINPWM
|
||||
|
||||
|
|
Loading…
Reference in a new issue