diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/config.h | 2 | ||||
-rw-r--r-- | include/fan.h | 32 |
2 files changed, 31 insertions, 3 deletions
diff --git a/include/config.h b/include/config.h index a82af12158..6df1558e19 100644 --- a/include/config.h +++ b/include/config.h @@ -351,7 +351,7 @@ /* * Replace the default fan mapping with a board-specific function in board.c: * - * int pwm_fan_percent_to_rpm(int pct); + * int fan_percent_to_rpm(int pct); * */ #undef CONFIG_FAN_RPM_CUSTOM 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 */ |