]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (asus-ec-sensors) add support for ROG STRIX Z490-F GAMING
authorRoy Seitz <royseitz@bluewin.ch>
Thu, 29 May 2025 09:01:41 +0000 (11:01 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 20 Jul 2025 23:38:33 +0000 (16:38 -0700)
This adds support for the ROG STRIX Z490-F GAMING board.

Signed-off-by: Roy Seitz <royseitz@bluewin.ch>
Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
Link: https://lore.kernel.org/r/20250529090222.154696-1-eugene.shalygin@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Documentation/hwmon/asus_ec_sensors.rst
drivers/hwmon/asus-ec-sensors.c

index 816d1f9947eaf8cf4f502c234bd55f0e27a5666c..502b0faf3b31c9abb31844611c2fbf54197c182d 100644 (file)
@@ -29,6 +29,7 @@ Supported boards:
  * ROG STRIX X570-F GAMING
  * ROG STRIX X570-I GAMING
  * ROG STRIX Z390-F GAMING
+ * ROG STRIX Z490-F GAMING
  * ROG STRIX Z690-A GAMING WIFI D4
  * ROG ZENITH II EXTREME
  * ROG ZENITH II EXTREME ALPHA
index e0a95197c71b4c12f69cd52e6bd74cdbec0b4e0e..c3d5bcbd63f88a86f19d987e12647b88eb2470a3 100644 (file)
@@ -166,6 +166,7 @@ enum board_family {
        family_amd_500_series,
        family_amd_600_series,
        family_intel_300_series,
+       family_intel_400_series,
        family_intel_600_series
 };
 
@@ -279,6 +280,20 @@ static const struct ec_sensor_info sensors_family_intel_300[] = {
                EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01),
 };
 
+static const struct ec_sensor_info sensors_family_intel_400[] = {
+       [ec_sensor_temp_chipset] =
+               EC_SENSOR("Chipset", hwmon_temp, 1, 0x00, 0x3a),
+       [ec_sensor_temp_cpu] = EC_SENSOR("CPU", hwmon_temp, 1, 0x00, 0x3b),
+       [ec_sensor_temp_mb] =
+               EC_SENSOR("Motherboard", hwmon_temp, 1, 0x00, 0x3c),
+       [ec_sensor_temp_t_sensor] =
+               EC_SENSOR("T_Sensor", hwmon_temp, 1, 0x00, 0x3d),
+       [ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x3e),
+       [ec_sensor_fan_cpu_opt] =
+               EC_SENSOR("CPU_Opt", hwmon_fan, 2, 0x00, 0xb0),
+       [ec_sensor_fan_vrm_hs] = EC_SENSOR("VRM HS", hwmon_fan, 2, 0x00, 0xb2),
+};
+
 static const struct ec_sensor_info sensors_family_intel_600[] = {
        [ec_sensor_temp_t_sensor] =
                EC_SENSOR("T_Sensor", hwmon_temp, 1, 0x00, 0x3d),
@@ -498,6 +513,18 @@ static const struct ec_board_info board_info_strix_z390_f_gaming = {
        .family = family_intel_300_series,
 };
 
+static const struct ec_board_info board_info_strix_z490_f_gaming = {
+       .sensors = SENSOR_TEMP_CHIPSET |
+               SENSOR_TEMP_CPU |
+               SENSOR_TEMP_MB |
+               SENSOR_TEMP_T_SENSOR |
+               SENSOR_TEMP_VRM |
+               SENSOR_FAN_CPU_OPT |
+               SENSOR_FAN_VRM_HS,
+       .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX,
+       .family = family_intel_400_series,
+};
+
 static const struct ec_board_info board_info_strix_z690_a_gaming_wifi_d4 = {
        .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM,
        .mutex_path = ASUS_HW_ACCESS_MUTEX_RMTW_ASMX,
@@ -586,6 +613,8 @@ static const struct dmi_system_id dmi_table[] = {
                                        &board_info_strix_x570_i_gaming),
        DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX Z390-F GAMING",
                                        &board_info_strix_z390_f_gaming),
+       DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX Z490-F GAMING",
+                                       &board_info_strix_z490_f_gaming),
        DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX Z690-A GAMING WIFI D4",
                                        &board_info_strix_z690_a_gaming_wifi_d4),
        DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG ZENITH II EXTREME",
@@ -1061,6 +1090,9 @@ static int asus_ec_probe(struct platform_device *pdev)
        case family_intel_300_series:
                ec_data->sensors_info = sensors_family_intel_300;
                break;
+       case family_intel_400_series:
+               ec_data->sensors_info = sensors_family_intel_400;
+               break;
        case family_intel_600_series:
                ec_data->sensors_info = sensors_family_intel_600;
                break;