diff options
Diffstat (limited to 'include/fan.h')
-rw-r--r-- | include/fan.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/include/fan.h b/include/fan.h index 7af956baae..acae150fc0 100644 --- a/include/fan.h +++ b/include/fan.h @@ -14,7 +14,7 @@ * * @param pct Percentage of cooling effort needed (0 - 100) */ -void pwm_fan_set_percent_needed(int pct); +void fan_set_percent_needed(int pct); /** * This function translates the percentage of cooling needed into a target RPM. @@ -24,6 +24,34 @@ void pwm_fan_set_percent_needed(int pct); * @param pct Percentage of cooling effort needed (always in [0,100]) * Return Target RPM for fan */ -int pwm_fan_percent_to_rpm(int pct); +int fan_percent_to_rpm(int pct); + + +/** + * These functions require chip-specific implementations. + */ + +void fan_set_enabled(int ch, int enabled); +int fan_get_enabled(int ch); +void fan_set_duty(int ch, int percent); +int fan_get_duty(int ch); +void fan_set_rpm_mode(int ch, int rpm_mode); +int fan_get_rpm_mode(int ch); +void fan_set_rpm_target(int ch, int rpm); +int fan_get_rpm_actual(int ch); +int fan_get_rpm_target(int ch); +int fan_is_stalled(int ch); + +enum fan_status { + FAN_STATUS_STOPPED = 0, + FAN_STATUS_CHANGING = 1, + FAN_STATUS_LOCKED = 2, + FAN_STATUS_FRUSTRATED = 3 +}; +enum fan_status fan_get_status(int ch); + +/* Maintain target RPM using tach input */ +#define FAN_USE_RPM_MODE (1 << 0) +void fan_channel_setup(int ch, unsigned int flags); #endif /* __CROS_EC_FAN_H */ |