diff options
Diffstat (limited to 'power/cometlake-discrete.h')
-rw-r--r-- | power/cometlake-discrete.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/power/cometlake-discrete.h b/power/cometlake-discrete.h index e69deb195c..6f5370beee 100644 --- a/power/cometlake-discrete.h +++ b/power/cometlake-discrete.h @@ -101,6 +101,9 @@ enum power_signal { * Board-specific enable for any additional rails in S0. * * Input 0 to turn off, 1 to turn on. + * + * This function may be called from interrupts so must not assume it's running + * in a task. */ void board_enable_s0_rails(int enable); @@ -134,4 +137,14 @@ int board_is_c10_gate_enabled(void); */ void c10_gate_interrupt(enum gpio_signal signal); +/* + * Special interrupt for SLP_S3_L handling. + * + * The time window in which to turn off some rails when dropping to S3 is + * ~200us, and using the regular power state machine path tends to have latency + * >1ms. This ISR short-circuits the relevant signals in a fast path before + * scheduling a state machine update to ensure sufficiently low latency. + */ +void slp_s3_interrupt(enum gpio_signal signal); + #endif /* __CROS_EC_COMETLAKE_DISCRETE_H */ |