1.. SPDX-License-Identifier: GPL-2.0-or-later
2
3Kernel driver asus_ec_sensors
4=================================
5
6Supported boards:
7 * PRIME X470-PRO
8 * PRIME X570-PRO
9 * Pro WS X570-ACE
10 * ProArt X570-CREATOR WIFI
11 * ProArt B550-CREATOR
12 * ROG CROSSHAIR VIII DARK HERO
13 * ROG CROSSHAIR VIII HERO (WI-FI)
14 * ROG CROSSHAIR VIII FORMULA
15 * ROG CROSSHAIR VIII HERO
16 * ROG CROSSHAIR VIII IMPACT
17 * ROG CROSSHAIR X670E HERO
18 * ROG MAXIMUS XI HERO
19 * ROG MAXIMUS XI HERO (WI-FI)
20 * ROG STRIX B550-E GAMING
21 * ROG STRIX B550-I GAMING
22 * ROG STRIX X570-E GAMING
23 * ROG STRIX X570-E GAMING WIFI II
24 * ROG STRIX X570-F GAMING
25 * ROG STRIX X570-I GAMING
26 * ROG STRIX Z390-F GAMING
27 * ROG STRIX Z690-A GAMING WIFI D4
28 * ROG ZENITH II EXTREME
29 * ROG ZENITH II EXTREME ALPHA
30
31Authors:
32    - Eugene Shalygin <eugene.shalygin@gmail.com>
33
34Description:
35------------
36ASUS mainboards publish hardware monitoring information via Super I/O
37chip and the ACPI embedded controller (EC) registers. Some of the sensors
38are only available via the EC.
39
40The driver is aware of and reads the following sensors:
41
421. Chipset (PCH) temperature
432. CPU package temperature
443. Motherboard temperature
454. Readings from the T_Sensor header
465. VRM temperature
476. CPU_Opt fan RPM
487. VRM heatsink fan RPM
498. Chipset fan RPM
509. Readings from the "Water flow meter" header (RPM)
5110. Readings from the "Water In" and "Water Out" temperature headers
5211. CPU current
5312. CPU core voltage
54
55Sensor values are read from EC registers, and to avoid race with the board
56firmware the driver acquires ACPI mutex, the one used by the WMI when its
57methods access the EC.
58
59Module Parameters
60-----------------
61 * mutex_path: string
62		The driver holds path to the ACPI mutex for each board (actually,
63		the path is mostly identical for them). If ASUS changes this path
64		in a future BIOS update, this parameter can be used to override
65		the stored in the driver value until it gets updated.
66		A special string ":GLOBAL_LOCK" can be passed to use the ACPI
67		global lock instead of a dedicated mutex.
68