xref: /aosp_15_r20/external/coreboot/Documentation/mainboard/asus/p5q.md (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1# ASUS P5Q
2
3This page describes how to run coreboot on the [ASUS P5Q] desktop board.
4
5## Working
6
7+ PCI slots
8+ PCI-e slots
9+ Onboard Ethernet
10+ USB
11+ Onboard sound card
12+ PS/2 keyboard
13+ All 4 DIMM slots
14+ S3 suspend and resume
15+ Red SATA ports
16+ Fan control through the W83667HG chip
17+ FireWire
18
19## Not working
20
21+ PS/2 mouse support
22+ PATA aka IDE (because of buggy IDE controller)
23+ Fan profiles with Q-Fan
24+ TPM module (support not implemented)
25
26## Untested
27
28+ S/PDIF
29+ CD Audio In
30+ Floppy disk drive
31
32
33## Flashing coreboot
34
35```{eval-rst}
36+-------------------+----------------+
37| Type              | Value          |
38+===================+================+
39| Socketed flash    | Yes            |
40+-------------------+----------------+
41| Model             | MX25L8005      |
42+-------------------+----------------+
43| Size              | 1 MiB          |
44+-------------------+----------------+
45| Package           | Socketed DIP-8 |
46+-------------------+----------------+
47| Write protection  | No             |
48+-------------------+----------------+
49| Dual BIOS feature | No             |
50+-------------------+----------------+
51| Internal flashing | Yes            |
52+-------------------+----------------+
53```
54
55You can flash coreboot into your motherboard using [this guide].
56
57## Technology
58
59```{eval-rst}
60+------------------+---------------------------------------------------+
61| Northbridge      | Intel P45 (called x4x in coreboot code)           |
62+------------------+---------------------------------------------------+
63| Southbridge      | Intel ICH10R (called i82801jx in coreboot code)   |
64+------------------+---------------------------------------------------+
65| CPU (LGA775)     | Model f4x, f6x, 6fx, 1067x (Pentium 4, d, Core 2) |
66+------------------+---------------------------------------------------+
67| SuperIO          | Winbond W83667HG                                  |
68+------------------+---------------------------------------------------+
69| Coprocessor      | No                                                |
70+------------------+---------------------------------------------------+
71| Clockgen (CK505) | ICS 9LPRS918JKLF                                  |
72+------------------+---------------------------------------------------+
73```
74
75## Controlling fans
76
77With vendor firmware, the P5Q uses the ATK0110 ACPI device to control its fans
78according to the parameters configured in the BIOS setup menu. With coreboot,
79one can instead control the Super I/O directly as described in the
80[kernel docs]:
81
82+ pwm1 controls fan1 (CHA_FAN1) and fan4 (CHA_FAN2)
83+ pwm2 controls fan2 (CPU_FAN)
84+ fan3 (PWR_FAN) cannot be controlled
85+ temp1 (board) can be used to control fan1 and fan4
86+ temp2 (CPU) can be used to control fan2
87
88### Manual fan speed
89
90These commands set the chassis fans to a constant speed:
91
92    # Use PWM output
93    echo 1 >/sys/class/hwmon/hwmon2/pwm1_mode
94    # Set to manual mode
95    echo 1 >/sys/class/hwmon/hwmon2/pwm1_enable
96    # Set relative speed: 0 (stop) to 255 (full)
97    echo 150 >/sys/class/hwmon/hwmon2/pwm1
98
99### Automatic fan speed
100
101The W83667HG can adjust fan speeds when things get too warm. These settings will
102control the chassis fans:
103
104    # Set to "Thermal Cruise" mode
105    echo 2 >/sys/class/hwmon/hwmon2/pwm1_enable
106    # Target temperature: 60°C
107    echo 60000 >/sys/class/hwmon/hwmon2/pwm1_target
108    # Minimum fan speed when spinning up
109    echo 135 >/sys/class/hwmon/hwmon2/pwm1_start_output
110    # Minimum fan speed when spinning down
111    echo 135 >/sys/class/hwmon/hwmon2/pwm1_stop_output
112    # Tolerance: 2°C
113    echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance
114    # Turn fans off after 600 seconds when below defined range
115    echo 600000 >/sys/class/hwmon/hwmon2/pwm1_stop_time
116
117You can also control the CPU fan with similar rules:
118
119    # Switch to "Thermal Cruise" mode
120    echo 2 >/sys/class/hwmon/hwmon2/pwm2_enable
121    # Target temperature: 55°C
122    echo 55000 >/sys/class/hwmon/hwmon2/pwm2_target
123    # Minimum fan speed when spinning down
124    echo 50 >/sys/class/hwmon/hwmon2/pwm2_stop_output
125    # Rate of fan speed change
126    echo 50 >/sys/class/hwmon/hwmon2/pwm2_step_output
127    # Maximum fan speed
128    echo 200 >/sys/class/hwmon/hwmon2/pwm2_max_output
129    # Tolerance: 2°C
130    echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance
131
132[ASUS P5Q]: https://www.asus.com/Motherboards/P5Q
133[this guide]: ../../tutorial/flashing_firmware/int_flashrom.md
134[kernel docs]: https://www.kernel.org/doc/Documentation/hwmon/w83627ehf.rst
135