From dc77bc0546f5d97dc19f2f0107bde0edda27fcd7 Mon Sep 17 00:00:00 2001 From: Stefan Ott Date: Tue, 9 Mar 2021 02:46:58 +0100 Subject: [PATCH] mb/asus/p5q: Document working fan control and FireWire port Fan control and FireWire work fine on my board. Signed-off-by: Stefan Ott Change-Id: Idc69e902370c4094daef93e843abc6ae564625f3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/51360 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- Documentation/mainboard/asus/p5q.md | 71 ++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/Documentation/mainboard/asus/p5q.md b/Documentation/mainboard/asus/p5q.md index bce71e8786..3b3cdb43dc 100644 --- a/Documentation/mainboard/asus/p5q.md +++ b/Documentation/mainboard/asus/p5q.md @@ -2,9 +2,7 @@ This page describes how to run coreboot on the [ASUS P5Q] desktop board. -## TODO - -The following things are working in this coreboot port: +## Working + PCI slots + PCI-e slots @@ -15,20 +13,21 @@ The following things are working in this coreboot port: + All 4 DIMM slots + S3 suspend and resume + Red SATA ports ++ Fan control through the W83667HG chip ++ FireWire -The following things are still missing from this coreboot port: +## Not working + PS/2 mouse support + PATA aka IDE (because of buggy IDE controller) -+ Fan control (will be working on 100% power) ++ Fan profiles with Q-Fan + TPM module (support not implemented) -The following things are untested on this coreboot port: +## Untested + S/PDIF + CD Audio In + Floppy disk drive -+ FireWire: PCI device shows up and driver loads, no further test ## Flashing coreboot @@ -73,5 +72,63 @@ You can flash coreboot into your motherboard using [this guide]. +------------------+---------------------------------------------------+ ``` +## Controlling fans + +With vendor firmware, the P5Q uses the ATK0110 ACPI device to control its fans +according to the parameters configured in the BIOS setup menu. With coreboot, +one can instead control the Super I/O directly as described in the +[kernel docs]: + ++ pwm1 controls fan1 (CHA_FAN1) and fan4 (CHA_FAN2) ++ pwm2 controls fan2 (CPU_FAN) ++ fan3 (PWR_FAN) cannot be controlled ++ temp1 (board) can be used to control fan1 and fan4 ++ temp2 (CPU) can be used to control fan2 + +### Manual fan speed + +These commands set the chassis fans to a constant speed: + + # Use PWM output + echo 1 >/sys/class/hwmon/hwmon2/pwm1_mode + # Set to manual mode + echo 1 >/sys/class/hwmon/hwmon2/pwm1_enable + # Set relative speed: 0 (stop) to 255 (full) + echo 150 >/sys/class/hwmon/hwmon2/pwm1 + +### Automatic fan speed + +The W83667HG can adjust fan speeds when things get too warm. These settings will +control the chassis fans: + + # Set to "Thermal Cruise" mode + echo 2 >/sys/class/hwmon/hwmon2/pwm1_enable + # Target temperature: 60°C + echo 60000 >/sys/class/hwmon/hwmon2/pwm1_target + # Minimum fan speed when spinning up + echo 135 >/sys/class/hwmon/hwmon2/pwm1_start_output + # Minimum fan speed when spinning down + echo 135 >/sys/class/hwmon/hwmon2/pwm1_stop_output + # Tolerance: 2°C + echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance + # Turn fans off after 600 seconds when below defined range + echo 600000 >/sys/class/hwmon/hwmon2/pwm1_stop_time + +You can also control the CPU fan with similar rules: + + # Switch to "Thermal Cruise" mode + echo 2 >/sys/class/hwmon/hwmon2/pwm2_enable + # Target temperature: 55°C + echo 55000 >/sys/class/hwmon/hwmon2/pwm2_target + # Minimum fan speed when spinning down + echo 50 >/sys/class/hwmon/hwmon2/pwm2_stop_output + # Rate of fan speed change + echo 50 >/sys/class/hwmon/hwmon2/pwm2_step_output + # Maximum fan speed + echo 200 >/sys/class/hwmon/hwmon2/pwm2_max_output + # Tolerance: 2°C + echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance + [ASUS P5Q]: https://www.asus.com/Motherboards/P5Q [this guide]: https://doc.coreboot.org/flash_tutorial/int_flashrom.html +[kernel docs]: https://www.kernel.org/doc/Documentation/hwmon/w83627ehf.rst