10314c6acSEugene Shalygin.. SPDX-License-Identifier: GPL-2.0-or-later
20314c6acSEugene Shalygin
30314c6acSEugene ShalyginKernel driver asus_ec_sensors
40314c6acSEugene Shalygin=================================
50314c6acSEugene Shalygin
60314c6acSEugene ShalyginSupported boards:
79ccafe46SDebabrata Banerjee * PRIME X470-PRO
89ccafe46SDebabrata Banerjee * PRIME X570-PRO
99ccafe46SDebabrata Banerjee * Pro WS X570-ACE
10d7cc063fSEugene Shalygin * ProArt X570-CREATOR WIFI
11c7ba3e26Sfireflame90051 * ProArt B550-CREATOR
129ccafe46SDebabrata Banerjee * ROG CROSSHAIR VIII DARK HERO
132f66cb5bSEugene Shalygin * ROG CROSSHAIR VIII HERO (WI-FI)
149ccafe46SDebabrata Banerjee * ROG CROSSHAIR VIII FORMULA
159ccafe46SDebabrata Banerjee * ROG CROSSHAIR VIII HERO
169ccafe46SDebabrata Banerjee * ROG CROSSHAIR VIII IMPACT
178f9eb10fSMichael Carns * ROG MAXIMUS XI HERO
188f9eb10fSMichael Carns * ROG MAXIMUS XI HERO (WI-FI)
199ccafe46SDebabrata Banerjee * ROG STRIX B550-E GAMING
209ccafe46SDebabrata Banerjee * ROG STRIX B550-I GAMING
219ccafe46SDebabrata Banerjee * ROG STRIX X570-E GAMING
229ccafe46SDebabrata Banerjee * ROG STRIX X570-E GAMING WIFI II
239ccafe46SDebabrata Banerjee * ROG STRIX X570-F GAMING
240314c6acSEugene Shalygin * ROG STRIX X570-I GAMING
25*3a31e092SEugene Shalygin * ROG STRIX Z390-F GAMING
26bae26b80SShady Nawara * ROG STRIX Z690-A GAMING WIFI D4
279992b19dSUrs Schroffenegger * ROG ZENITH II EXTREME
28195f46e5SEric Nguyen * ROG ZENITH II EXTREME ALPHA
290314c6acSEugene Shalygin
300314c6acSEugene ShalyginAuthors:
310314c6acSEugene Shalygin    - Eugene Shalygin <eugene.shalygin@gmail.com>
320314c6acSEugene Shalygin
330314c6acSEugene ShalyginDescription:
340314c6acSEugene Shalygin------------
350314c6acSEugene ShalyginASUS mainboards publish hardware monitoring information via Super I/O
360314c6acSEugene Shalyginchip and the ACPI embedded controller (EC) registers. Some of the sensors
370314c6acSEugene Shalyginare only available via the EC.
380314c6acSEugene Shalygin
390314c6acSEugene ShalyginThe driver is aware of and reads the following sensors:
400314c6acSEugene Shalygin
410314c6acSEugene Shalygin1. Chipset (PCH) temperature
420314c6acSEugene Shalygin2. CPU package temperature
430314c6acSEugene Shalygin3. Motherboard temperature
440314c6acSEugene Shalygin4. Readings from the T_Sensor header
450314c6acSEugene Shalygin5. VRM temperature
460314c6acSEugene Shalygin6. CPU_Opt fan RPM
470314c6acSEugene Shalygin7. VRM heatsink fan RPM
480314c6acSEugene Shalygin8. Chipset fan RPM
490314c6acSEugene Shalygin9. Readings from the "Water flow meter" header (RPM)
500314c6acSEugene Shalygin10. Readings from the "Water In" and "Water Out" temperature headers
510314c6acSEugene Shalygin11. CPU current
52f545a2fdSEugene Shalygin12. CPU core voltage
530314c6acSEugene Shalygin
540314c6acSEugene ShalyginSensor values are read from EC registers, and to avoid race with the board
550314c6acSEugene Shalyginfirmware the driver acquires ACPI mutex, the one used by the WMI when its
560314c6acSEugene Shalyginmethods access the EC.
570314c6acSEugene Shalygin
580314c6acSEugene ShalyginModule Parameters
590314c6acSEugene Shalygin-----------------
600314c6acSEugene Shalygin * mutex_path: string
610314c6acSEugene Shalygin		The driver holds path to the ACPI mutex for each board (actually,
620314c6acSEugene Shalygin		the path is mostly identical for them). If ASUS changes this path
630314c6acSEugene Shalygin		in a future BIOS update, this parameter can be used to override
640314c6acSEugene Shalygin		the stored in the driver value until it gets updated.
65de8fbac5SEugene Shalygin		A special string ":GLOBAL_LOCK" can be passed to use the ACPI
66de8fbac5SEugene Shalygin		global lock instead of a dedicated mutex.
67