PWM: fancontrol configuration use symlink name

To sync with what has been implemented on Armbian.
Also add additional info on rev 1.2 board.
This commit is contained in:
Aditya Prayoga 2019-07-29 11:33:52 +08:00
parent 5dc49cfba4
commit 3487161f19

View File

@ -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