Commit 548820e2 authored by Denis Pauk's avatar Denis Pauk Committed by Guenter Roeck
Browse files

hwmon: (asus_wmi_sensors) Support X370 Asus WMI.



Provides a Linux kernel module "asus_wmi_sensors" that provides sensor
readouts via ASUS' WMI interface present in the UEFI of
X370/X470/B450/X399 Ryzen motherboards.

Supported motherboards:
* ROG CROSSHAIR VI HERO,
* PRIME X399-A,
* PRIME X470-PRO,
* ROG CROSSHAIR VI EXTREME,
* ROG CROSSHAIR VI HERO (WI-FI AC),
* ROG CROSSHAIR VII HERO,
* ROG CROSSHAIR VII HERO (WI-FI),
* ROG STRIX B450-E GAMING,
* ROG STRIX B450-F GAMING,
* ROG STRIX B450-I GAMING,
* ROG STRIX X399-E GAMING,
* ROG STRIX X470-F GAMING,
* ROG STRIX X470-I GAMING,
* ROG ZENITH EXTREME,
* ROG ZENITH EXTREME ALPHA.

Co-developed-by: default avatarEd Brindley <kernel@maidavale.org>
Signed-off-by: default avatarEd Brindley <kernel@maidavale.org>
Signed-off-by: default avatarDenis Pauk <pauk.denis@gmail.com>
[groeck: Squashed:
 "hwmon: Fix warnings in asus_wmi_sensors.rst documetation."]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent b87611d4
Loading
Loading
Loading
Loading
+78 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0-or-later

Kernel driver asus_wmi_sensors
=================================

Supported boards:
 * PRIME X399-A,
 * PRIME X470-PRO,
 * ROG CROSSHAIR VI EXTREME,
 * ROG CROSSHAIR VI HERO,
 * ROG CROSSHAIR VI HERO (WI-FI AC),
 * ROG CROSSHAIR VII HERO,
 * ROG CROSSHAIR VII HERO (WI-FI),
 * ROG STRIX B450-E GAMING,
 * ROG STRIX B450-F GAMING,
 * ROG STRIX B450-I GAMING,
 * ROG STRIX X399-E GAMING,
 * ROG STRIX X470-F GAMING,
 * ROG STRIX X470-I GAMING,
 * ROG ZENITH EXTREME,
 * ROG ZENITH EXTREME ALPHA.

Authors:
    - Ed Brindley <kernel@maidavale.org>

Description:
------------
ASUS mainboards publish hardware monitoring information via WMI interface.

ASUS WMI interface provides a methods to get list of sensors and values of
such, which is utilized by this driver to publish those sensor readings to the
HWMON system.

The driver is aware of and reads the following sensors:
 * CPU Core Voltage,
 * CPU SOC Voltage,
 * DRAM Voltage,
 * VDDP Voltage,
 * 1.8V PLL Voltage,
 * +12V Voltage,
 * +5V Voltage,
 * 3VSB Voltage,
 * VBAT Voltage,
 * AVCC3 Voltage,
 * SB 1.05V Voltage,
 * CPU Core Voltage,
 * CPU SOC Voltage,
 * DRAM Voltage,
 * CPU Fan RPM,
 * Chassis Fan 1 RPM,
 * Chassis Fan 2 RPM,
 * Chassis Fan 3 RPM,
 * HAMP Fan RPM,
 * Water Pump RPM,
 * CPU OPT RPM,
 * Water Flow RPM,
 * AIO Pump RPM,
 * CPU Temperature,
 * CPU Socket Temperature,
 * Motherboard Temperature,
 * Chipset Temperature,
 * Tsensor 1 Temperature,
 * CPU VRM Temperature,
 * Water In,
 * Water Out,
 * CPU VRM Output Current.

Known Issues:
 * The WMI implementation in some of Asus' BIOSes is buggy. This can result in
   fans stopping, fans getting stuck at max speed, or temperature readouts
   getting stuck. This is not an issue with the driver, but the BIOS. The Prime
   X470 Pro seems particularly bad for this. The more frequently the WMI
   interface is polled the greater the potential for this to happen. Until you
   have subjected your computer to an extended soak test while polling the
   sensors frequently, don't leave you computer unattended. Upgrading to new
   BIOS version with method version greater than or equal to two should
   rectify the issue.
 * A few boards report 12v voltages to be ~10v.
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ Hardware Monitoring Kernel Drivers
   asc7621
   aspeed-pwm-tacho
   asus_wmi_ec_sensors
   asus_wmi_sensors
   bcm54140
   bel-pfe
   bpa-rs600
+7 −0
Original line number Diff line number Diff line
@@ -2998,6 +2998,13 @@ W: http://acpi4asus.sf.net
F:	drivers/platform/x86/asus*.c
F:	drivers/platform/x86/eeepc*.c
ASUS WMI HARDWARE MONITOR DRIVER
M:	Ed Brindley <kernel@maidavale.org>
M:	Denis Pauk <pauk.denis@gmail.com>
L:	linux-hwmon@vger.kernel.org
S:	Maintained
F:	drivers/hwmon/asus_wmi_sensors.c
ASUS WMI EC HARDWARE MONITOR DRIVER
M:	Eugene Shalygin <eugene.shalygin@gmail.com>
M:	Denis Pauk <pauk.denis@gmail.com>
+12 −0
Original line number Diff line number Diff line
@@ -2228,6 +2228,18 @@ config SENSORS_ATK0110
	  This driver can also be built as a module. If so, the module
	  will be called asus_atk0110.

config SENSORS_ASUS_WMI
	tristate "ASUS WMI X370/X470/B450/X399"
	depends on ACPI_WMI
	help
	  If you say yes here you get support for the ACPI hardware monitoring
	  interface found in X370/X470/B450/X399 ASUS motherboards. This driver
	  will provide readings of fans, voltages and temperatures through the system
	  firmware.

	  This driver can also be built as a module. If so, the module
	  will be called asus_wmi_sensors.

config SENSORS_ASUS_WMI_EC
	tristate "ASUS WMI B550/X570"
	depends on ACPI_WMI
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ obj-$(CONFIG_HWMON_VID) += hwmon-vid.o
# APCI drivers
obj-$(CONFIG_SENSORS_ACPI_POWER) += acpi_power_meter.o
obj-$(CONFIG_SENSORS_ATK0110)	+= asus_atk0110.o
obj-$(CONFIG_SENSORS_ASUS_WMI)	+= asus_wmi_sensors.o
obj-$(CONFIG_SENSORS_ASUS_WMI_EC)	+= asus_wmi_ec_sensors.o

# Native drivers
Loading