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 MAXIMUS XI HERO
18 * ROG MAXIMUS XI HERO (WI-FI)
19 * ROG STRIX B550-E GAMING
20 * ROG STRIX B550-I GAMING
21 * ROG STRIX X570-E GAMING
22 * ROG STRIX X570-E GAMING WIFI II
23 * ROG STRIX X570-F GAMING
24 * ROG STRIX X570-I GAMING
25 * ROG STRIX Z390-F GAMING
26 * ROG STRIX Z690-A GAMING WIFI D4
27 * ROG ZENITH II EXTREME
28 * ROG ZENITH II EXTREME ALPHA
29
30Authors:
31    - Eugene Shalygin <eugene.shalygin@gmail.com>
32
33Description:
34------------
35ASUS mainboards publish hardware monitoring information via Super I/O
36chip and the ACPI embedded controller (EC) registers. Some of the sensors
37are only available via the EC.
38
39The driver is aware of and reads the following sensors:
40
411. Chipset (PCH) temperature
422. CPU package temperature
433. Motherboard temperature
444. Readings from the T_Sensor header
455. VRM temperature
466. CPU_Opt fan RPM
477. VRM heatsink fan RPM
488. Chipset fan RPM
499. Readings from the "Water flow meter" header (RPM)
5010. Readings from the "Water In" and "Water Out" temperature headers
5111. CPU current
5212. CPU core voltage
53
54Sensor values are read from EC registers, and to avoid race with the board
55firmware the driver acquires ACPI mutex, the one used by the WMI when its
56methods access the EC.
57
58Module Parameters
59-----------------
60 * mutex_path: string
61		The driver holds path to the ACPI mutex for each board (actually,
62		the path is mostly identical for them). If ASUS changes this path
63		in a future BIOS update, this parameter can be used to override
64		the stored in the driver value until it gets updated.
65		A special string ":GLOBAL_LOCK" can be passed to use the ACPI
66		global lock instead of a dedicated mutex.
67