From 3487161f19cd1c47dba3c0859b312b3dbba1b174 Mon Sep 17 00:00:00 2001 From: Aditya Prayoga Date: Mon, 29 Jul 2019 11:33:52 +0800 Subject: [PATCH] PWM: fancontrol configuration use symlink name To sync with what has been implemented on Armbian. Also add additional info on rev 1.2 board. --- docs/pwm.md | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/docs/pwm.md b/docs/pwm.md index dd333be..a478175 100644 --- a/docs/pwm.md +++ b/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