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 |
|
| Description | Header J10 | Header J17 | Remarks |
|
||||||
|-----------|---------|-----------|---------|
|
|-----------|---------|-----------|---------|
|
||||||
|
| PWM pin | gpio41 | gpio55 | 5V tolerant |
|
||||||
| SENSE pin | gpio43 | gpio48 | SENSE pin is not implemented yet |
|
| SENSE pin | gpio43 | gpio48 | SENSE pin is not implemented yet |
|
||||||
| PWM Frequency | 25 kHz | 25 kHz | defined in device tree |
|
| 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/**
|
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
|
#### Configuration File
|
||||||
|
|
||||||
fancontrol uses **/etc/fancontrol** as configuration file. Below is an example configuration to control fan speed on Helios4.
|
fancontrol uses **/etc/fancontrol** as configuration file. Below is an example configuration to control fan speed on Helios4.
|
||||||
|
|
||||||
```
|
```
|
||||||
# Helios4 PWM Fan Control Configuration
|
# Helios4 PWM Fan Control Configuration
|
||||||
# Temp source : armada_thermal sensor
|
# Temp source : /dev/thermal-cpu
|
||||||
INTERVAL=10
|
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
|
FCTEMPS=/dev/fan-j10/pwm1=/dev/thermal-cpu/temp1_input /dev/fan-j17/pwm1=/dev/thermal-cpu/temp1_input
|
||||||
DEVNAME=hwmon1=f10e4078.thermal
|
MINTEMP=/dev/fan-j10/pwm1=40 /dev/fan-j17/pwm1=40
|
||||||
FCTEMPS=hwmon3/pwm1=hwmon1/temp1_input hwmon4/pwm1=hwmon1/temp1_input
|
MAXTEMP=/dev/fan-j10/pwm1=80 /dev/fan-j17/pwm1=80
|
||||||
MINTEMP=hwmon3/pwm1=40 hwmon4/pwm1=40
|
MINSTART=/dev/fan-j10/pwm1=20 /dev/fan-j17/pwm1=20
|
||||||
MAXTEMP=hwmon3/pwm1=80 hwmon4/pwm1=80
|
MINSTOP=/dev/fan-j10/pwm1=29 /dev/fan-j17/pwm1=29
|
||||||
MINSTART=hwmon3/pwm1=20 hwmon4/pwm1=20
|
|
||||||
MINSTOP=hwmon3/pwm1=29 hwmon4/pwm1=29
|
|
||||||
MINPWM=20
|
MINPWM=20
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -209,23 +210,11 @@ INTERVAL
|
||||||
|
|
||||||
This variable defines at which interval in seconds the main loop of fancontrol will be executed.
|
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
|
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.
|
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
|
MINSTART
|
||||||
|
|
||||||
|
@ -247,13 +236,13 @@ MINTEMP
|
||||||
|
|
||||||
The temperature below which the fan gets switched to minimum speed.
|
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
|
MAXTEMP
|
||||||
|
|
||||||
The temperature over which the fan gets switched to maximum speed.
|
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
|
MINPWM
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue