]> git.itanic.dy.fi Git - linux-stable/commitdiff
hwmon: (asus-ec-sensors) add support for Strix Z690-a D4
authorShady Nawara <shady.nawara@outlook.com>
Fri, 3 Jun 2022 12:27:58 +0000 (14:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Sep 2022 08:47:19 +0000 (10:47 +0200)
[ Upstream commit bae26b801f98bc902ab4a43c96947f3a0ce4f3a0 ]

adds T_Sensor and VRM Temp sensors for the Asus Strix z690-a D4 motherboard

Signed-off-by: Shady Nawara <shady.nawara@outlook.com>
Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
Link: https://lore.kernel.org/r/20220603122758.1561064-1-eugene.shalygin@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Stable-dep-of: 88700d1396ba ("hwmon: (asus-ec-sensors) autoload module via DMI data")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Documentation/hwmon/asus_ec_sensors.rst
drivers/hwmon/asus-ec-sensors.c

index 78ca69eda877890fbfd42a3caaa64b21a4049a9c..00d8c46ef9e040ab9ae0132caf2e0257944471ae 100644 (file)
@@ -19,6 +19,7 @@ Supported boards:
  * ROG STRIX X570-E GAMING WIFI II
  * ROG STRIX X570-F GAMING
  * ROG STRIX X570-I GAMING
+ * ROG STRIX Z690-A GAMING WIFI D4
 
 Authors:
     - Eugene Shalygin <eugene.shalygin@gmail.com>
index 3633ab691662bf362baa2a1d08713144c956daea..19d3ca71b360927b9963e1d41b57cf74cbeb601b 100644 (file)
@@ -54,6 +54,8 @@ static char *mutex_path_override;
 /* ACPI mutex for locking access to the EC for the firmware */
 #define ASUS_HW_ACCESS_MUTEX_ASMX      "\\AMW0.ASMX"
 
+#define ASUS_HW_ACCESS_MUTEX_RMTW_ASMX "\\RMTW.ASMX"
+
 #define MAX_IDENTICAL_BOARD_VARIATIONS 3
 
 /* Moniker for the ACPI global lock (':' is not allowed in ASL identifiers) */
@@ -139,6 +141,7 @@ enum board_family {
        family_unknown,
        family_amd_400_series,
        family_amd_500_series,
+       family_intel_600_series
 };
 
 /* All the known sensors for ASUS EC controllers */
@@ -197,6 +200,12 @@ static const struct ec_sensor_info sensors_family_amd_500[] = {
                EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01),
 };
 
+static const struct ec_sensor_info sensors_family_intel_600[] = {
+       [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),
+};
+
 /* Shortcuts for common combinations */
 #define SENSOR_SET_TEMP_CHIPSET_CPU_MB                                         \
        (SENSOR_TEMP_CHIPSET | SENSOR_TEMP_CPU | SENSOR_TEMP_MB)
@@ -330,6 +339,12 @@ static const struct ec_board_info board_info[] = {
                .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX,
                .family = family_amd_500_series,
        },
+       {
+               .board_names = {"ROG STRIX Z690-A GAMING WIFI D4"},
+               .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM,
+               .mutex_path = ASUS_HW_ACCESS_MUTEX_RMTW_ASMX,
+               .family = family_intel_600_series,
+       },
        {}
 };
 
@@ -799,6 +814,9 @@ static int __init asus_ec_probe(struct platform_device *pdev)
        case family_amd_500_series:
                ec_data->sensors_info = sensors_family_amd_500;
                break;
+       case family_intel_600_series:
+               ec_data->sensors_info = sensors_family_intel_600;
+               break;
        default:
                dev_err(dev, "Unknown board family: %d",
                        ec_data->board_info->family);