Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/51360 )
Change subject: mb/asus/p5q: Document working fan control and FireWire port ......................................................................
mb/asus/p5q: Document working fan control and FireWire port
Fan control and FireWire work fine on my board.
Signed-off-by: Stefan Ott stefan@ott.net Change-Id: Idc69e902370c4094daef93e843abc6ae564625f3 Reviewed-on: https://review.coreboot.org/c/coreboot/+/51360 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Angel Pons th3fanbus@gmail.com --- M Documentation/mainboard/asus/p5q.md 1 file changed, 64 insertions(+), 7 deletions(-)
Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
diff --git a/Documentation/mainboard/asus/p5q.md b/Documentation/mainboard/asus/p5q.md index bce71e8..3b3cdb4 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 @@ + 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 @@ +------------------+---------------------------------------------------+ ```
+## 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