platform/chrome: update pwm fan control host commands

Update cros_ec_commands.h to include definitions for getting PWM fan
duty, getting and setting the fan control mode.

Signed-off-by: Sung-Chi Li <lschyi@chromium.org>
Acked-by: Tzung-Bi Shih <tzungbi@kernel.org>
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>
Link: https://lore.kernel.org/r/20250911-cros_ec_fan-v6-1-a1446cc098af@google.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Sung-Chi Li 2025-09-11 06:56:34 +00:00 committed by Guenter Roeck
parent 443b39c82c
commit 60ac65a310

View File

@ -1825,6 +1825,16 @@ struct ec_response_pwm_get_duty {
uint16_t duty; /* Duty cycle, EC_PWM_MAX_DUTY = 100% */
} __ec_align2;
#define EC_CMD_PWM_GET_FAN_DUTY 0x0027
struct ec_params_pwm_get_fan_duty {
uint8_t fan_idx;
} __ec_align1;
struct ec_response_pwm_get_fan_duty {
uint32_t percent; /* Percentage of duty cycle, ranging from 0 ~ 100 */
} __ec_align4;
/*****************************************************************************/
/*
* Lightbar commands. This looks worse than it is. Since we only use one HOST
@ -3127,14 +3137,31 @@ struct ec_params_thermal_set_threshold_v1 {
/****************************************************************************/
/* Toggle automatic fan control */
/* Set or get fan control mode */
#define EC_CMD_THERMAL_AUTO_FAN_CTRL 0x0052
enum ec_auto_fan_ctrl_cmd {
EC_AUTO_FAN_CONTROL_CMD_SET = 0,
EC_AUTO_FAN_CONTROL_CMD_GET,
};
/* Version 1 of input params */
struct ec_params_auto_fan_ctrl_v1 {
uint8_t fan_idx;
} __ec_align1;
/* Version 2 of input params */
struct ec_params_auto_fan_ctrl_v2 {
uint8_t fan_idx;
uint8_t cmd; /* enum ec_auto_fan_ctrl_cmd */
uint8_t set_auto; /* only used with EC_AUTO_FAN_CONTROL_CMD_SET - bool
*/
} __ec_align4;
struct ec_response_auto_fan_control {
uint8_t is_auto; /* bool */
} __ec_align1;
/* Get/Set TMP006 calibration data */
#define EC_CMD_TMP006_GET_CALIBRATION 0x0053
#define EC_CMD_TMP006_SET_CALIBRATION 0x0054