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