diff mbox series

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

Message ID 20220603122758.1561064-1-eugene.shalygin@gmail.com (mailing list archive)
State Accepted
Headers show
Series hwmon: (asus-ec-sensors) add support for Strix Z690-a D4 | expand

Commit Message

Eugene Shalygin June 3, 2022, 12:27 p.m. UTC
From: Shady Nawara <shady.nawara@outlook.com>

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>
---
 Documentation/hwmon/asus_ec_sensors.rst |  1 +
 drivers/hwmon/asus-ec-sensors.c         | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

Comments

Guenter Roeck June 5, 2022, 5:43 p.m. UTC | #1
On Fri, Jun 03, 2022 at 02:27:58PM +0200, Eugene Shalygin wrote:
> From: Shady Nawara <shady.nawara@outlook.com>
> 
> 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>

Applied to hwmon-next.

Thanks,
Guenter

> ---
>  Documentation/hwmon/asus_ec_sensors.rst |  1 +
>  drivers/hwmon/asus-ec-sensors.c         | 18 ++++++++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/Documentation/hwmon/asus_ec_sensors.rst b/Documentation/hwmon/asus_ec_sensors.rst
> index 78ca69eda877..00d8c46ef9e0 100644
> --- a/Documentation/hwmon/asus_ec_sensors.rst
> +++ b/Documentation/hwmon/asus_ec_sensors.rst
> @@ -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>
> diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
> index 57e11b2bab74..886a71b4c64e 100644
> --- a/drivers/hwmon/asus-ec-sensors.c
> +++ b/drivers/hwmon/asus-ec-sensors.c
> @@ -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);
diff mbox series

Patch

diff --git a/Documentation/hwmon/asus_ec_sensors.rst b/Documentation/hwmon/asus_ec_sensors.rst
index 78ca69eda877..00d8c46ef9e0 100644
--- a/Documentation/hwmon/asus_ec_sensors.rst
+++ b/Documentation/hwmon/asus_ec_sensors.rst
@@ -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>
diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
index 57e11b2bab74..886a71b4c64e 100644
--- a/drivers/hwmon/asus-ec-sensors.c
+++ b/drivers/hwmon/asus-ec-sensors.c
@@ -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);