Merge pull request #20 from helios-4/wiki_update

PWM page update
This commit is contained in:
Gauthier Provost 2019-07-29 12:13:00 +08:00 committed by GitHub
commit 0a13b0a49e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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