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 * PRIME X670E-PRO WIFI 10 * Pro WS X570-ACE 11 * ProArt X570-CREATOR WIFI 12 * ProArt X670E-CREATOR WIFI 13 * ProArt B550-CREATOR 14 * ROG CROSSHAIR VIII DARK HERO 15 * ROG CROSSHAIR VIII HERO (WI-FI) 16 * ROG CROSSHAIR VIII FORMULA 17 * ROG CROSSHAIR VIII HERO 18 * ROG CROSSHAIR VIII IMPACT 19 * ROG CROSSHAIR X670E HERO 20 * ROG CROSSHAIR X670E GENE 21 * ROG MAXIMUS XI HERO 22 * ROG MAXIMUS XI HERO (WI-FI) 23 * ROG STRIX B550-E GAMING 24 * ROG STRIX B550-I GAMING 25 * ROG STRIX X570-E GAMING 26 * ROG STRIX X570-E GAMING WIFI II 27 * ROG STRIX X570-F GAMING 28 * ROG STRIX X570-I GAMING 29 * ROG STRIX Z390-F GAMING 30 * ROG STRIX Z690-A GAMING WIFI D4 31 * ROG ZENITH II EXTREME 32 * ROG ZENITH II EXTREME ALPHA 33 * TUF GAMING X670E PLUS 34 35Authors: 36 - Eugene Shalygin <eugene.shalygin@gmail.com> 37 38Description: 39------------ 40ASUS mainboards publish hardware monitoring information via Super I/O 41chip and the ACPI embedded controller (EC) registers. Some of the sensors 42are only available via the EC. 43 44The driver is aware of and reads the following sensors: 45 461. Chipset (PCH) temperature 472. CPU package temperature 483. Motherboard temperature 494. Readings from the T_Sensor header 505. VRM temperature 516. CPU_Opt fan RPM 527. VRM heatsink fan RPM 538. Chipset fan RPM 549. Readings from the "Water flow meter" header (RPM) 5510. Readings from the "Water In" and "Water Out" temperature headers 5611. CPU current 5712. CPU core voltage 58 59Sensor values are read from EC registers, and to avoid race with the board 60firmware the driver acquires ACPI mutex, the one used by the WMI when its 61methods access the EC. 62 63Module Parameters 64----------------- 65 * mutex_path: string 66 The driver holds path to the ACPI mutex for each board (actually, 67 the path is mostly identical for them). If ASUS changes this path 68 in a future BIOS update, this parameter can be used to override 69 the stored in the driver value until it gets updated. 70 A special string ":GLOBAL_LOCK" can be passed to use the ACPI 71 global lock instead of a dedicated mutex. 72