Commit bae26b80 authored by Shady Nawara's avatar Shady Nawara Committed by Guenter Roeck
Browse files

hwmon: (asus-ec-sensors) add support for Strix Z690-a D4



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

Signed-off-by: default avatarShady Nawara <shady.nawara@outlook.com>
Signed-off-by: default avatarEugene Shalygin <eugene.shalygin@gmail.com>
Link: https://lore.kernel.org/r/20220603122758.1561064-1-eugene.shalygin@gmail.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent fd2d53c3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>
+18 −0
Original line number Diff line number Diff line
@@ -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);