Created
March 13, 2024 13:54
-
-
Save Voltara/3bd918ff2904ddc6f499e2b678a757b8 to your computer and use it in GitHub Desktop.
VRM temperatures, VRM/USB4/M.2 fan speeds for Asus WRX90E-SAGE SE
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- a/linux/drivers/hwmon/asus-ec-sensors.c 2024-02-07 09:00:48.000000000 -0500 | |
+++ b/linux/drivers/hwmon/asus-ec-sensors.c 2024-03-13 09:48:52.892324808 -0400 | |
@@ -137,6 +137,14 @@ | |
ec_sensor_temp_sensor_extra_2, | |
/* "Extra_3" temperature sensor reading [℃] */ | |
ec_sensor_temp_sensor_extra_3, | |
+ /* VRM_2 temperature [℃] */ | |
+ ec_sensor_temp_vrm_2, | |
+ /* USB4 temperature [℃] */ | |
+ ec_sensor_fan_usb4, | |
+ /* VRM_2 heat sink fan [RPM] */ | |
+ ec_sensor_fan_vrm_hs_2, | |
+ /* M.2 fan [RPM] */ | |
+ ec_sensor_fan_m2, | |
}; | |
#define SENSOR_TEMP_CHIPSET BIT(ec_sensor_temp_chipset) | |
@@ -159,6 +167,10 @@ | |
#define SENSOR_TEMP_SENSOR_EXTRA_1 BIT(ec_sensor_temp_sensor_extra_1) | |
#define SENSOR_TEMP_SENSOR_EXTRA_2 BIT(ec_sensor_temp_sensor_extra_2) | |
#define SENSOR_TEMP_SENSOR_EXTRA_3 BIT(ec_sensor_temp_sensor_extra_3) | |
+#define SENSOR_TEMP_VRM_2 BIT(ec_sensor_temp_vrm_2) | |
+#define SENSOR_FAN_VRM_HS_2 BIT(ec_sensor_fan_vrm_hs_2) | |
+#define SENSOR_FAN_USB4 BIT(ec_sensor_fan_usb4) | |
+#define SENSOR_FAN_M2 BIT(ec_sensor_fan_m2) | |
enum board_family { | |
family_unknown, | |
@@ -166,7 +178,8 @@ | |
family_amd_500_series, | |
family_amd_600_series, | |
family_intel_300_series, | |
- family_intel_600_series | |
+ family_intel_600_series, | |
+ family_amd_wrx90_series, | |
}; | |
/* All the known sensors for ASUS EC controllers */ | |
@@ -276,6 +289,17 @@ | |
[ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x3e), | |
}; | |
+static const struct ec_sensor_info sensors_family_amd_wrx90[] = { | |
+ [ec_sensor_temp_cpu] = | |
+ EC_SENSOR("CPU", hwmon_temp, 1, 0x00, 0x31), | |
+ [ec_sensor_temp_vrm] = EC_SENSOR("VRME", hwmon_temp, 1, 0x00, 0x33), | |
+ [ec_sensor_temp_vrm_2] = EC_SENSOR("VRMW", hwmon_temp, 1, 0x00, 0x34), | |
+ [ec_sensor_fan_vrm_hs_2] = EC_SENSOR("VRMW", hwmon_fan, 2, 0x00, 0xb4), | |
+ [ec_sensor_fan_usb4] = EC_SENSOR("USB4", hwmon_fan, 2, 0x00, 0xb6), | |
+ [ec_sensor_fan_vrm_hs] = EC_SENSOR("VRME", hwmon_fan, 2, 0x00, 0xbc), | |
+ [ec_sensor_fan_m2] = EC_SENSOR("M.2", hwmon_fan, 2, 0x00, 0xbe), | |
+}; | |
+ | |
/* Shortcuts for common combinations */ | |
#define SENSOR_SET_TEMP_CHIPSET_CPU_MB \ | |
(SENSOR_TEMP_CHIPSET | SENSOR_TEMP_CPU | SENSOR_TEMP_MB) | |
@@ -459,6 +483,14 @@ | |
.family = family_amd_500_series, | |
}; | |
+static const struct ec_board_info board_info_pro_ws_wrx90e_sage_se = { | |
+ .sensors = SENSOR_TEMP_CPU | SENSOR_TEMP_VRM | SENSOR_TEMP_VRM_2 | | |
+ SENSOR_FAN_VRM_HS | SENSOR_FAN_VRM_HS_2 | SENSOR_FAN_USB4 | | |
+ SENSOR_FAN_M2, | |
+ .mutex_path = ASUS_HW_ACCESS_MUTEX_SB_PCI0_SBRG_SIO1_MUT0, | |
+ .family = family_amd_wrx90_series, | |
+}; | |
+ | |
#define DMI_EXACT_MATCH_ASUS_BOARD_NAME(name, board_info) \ | |
{ \ | |
.matches = { \ | |
@@ -516,6 +548,8 @@ | |
&board_info_zenith_ii_extreme), | |
DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG ZENITH II EXTREME ALPHA", | |
&board_info_zenith_ii_extreme), | |
+ DMI_EXACT_MATCH_ASUS_BOARD_NAME("Pro WS WRX90E-SAGE SE", | |
+ &board_info_pro_ws_wrx90e_sage_se), | |
{}, | |
}; | |
@@ -982,6 +1016,9 @@ | |
case family_intel_600_series: | |
ec_data->sensors_info = sensors_family_intel_600; | |
break; | |
+ case family_amd_wrx90_series: | |
+ ec_data->sensors_info = sensors_family_amd_wrx90; | |
+ break; | |
default: | |
dev_err(dev, "Unknown board family: %d", | |
ec_data->board_info->family); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment