39#include "ove_config.h"
55 OVE_PM_STATE_COUNT = 4,
72 OVE_PM_DOMAIN_RADIO = 0,
73 OVE_PM_DOMAIN_SENSOR = 1,
74 OVE_PM_DOMAIN_DISPLAY = 2,
75 OVE_PM_DOMAIN_AUDIO = 3,
76 OVE_PM_DOMAIN_STORAGE = 4,
77 OVE_PM_DOMAIN_COMMS = 5,
78 OVE_PM_DOMAIN_USER0 = 6,
79 OVE_PM_DOMAIN_USER1 = 7,
80 OVE_PM_DOMAIN_COUNT = 8,
117 unsigned int instance;
148 uint32_t next_timeout_ms,
179void ove_pm_deinit(
void);
201void ove_pm_activity(
void);
288void ove_pm_reset_stats(
void);
296int ove_pm_set_budget(uint32_t target_low_power_pct_x100);
304int ove_pm_get_budget_status(uint32_t *actual_pct_x100);
313void ove_pm_idle_process(
void);
318static inline void ove_pm_deinit(
void) {}
321static inline void ove_pm_activity(
void) {}
331static inline void ove_pm_reset_stats(
void) {}
334static inline void ove_pm_idle_process(
void) {}
ove_gpio_irq_mode_t
GPIO interrupt trigger edge selection (re-exported for BSP-only callers).
Definition bsp.h:48
ove_pm_state_t
System power states, ordered by increasing sleep depth.
Definition pm.h:50
void(* ove_pm_notify_fn)(ove_pm_event_t event, ove_pm_state_t from_state, ove_pm_state_t to_state, void *user_data)
Transition notification callback.
Definition pm.h:159
ove_pm_wake_type_t
Wake source types.
Definition pm.h:61
ove_pm_event_t
Transition event type for notification callbacks.
Definition pm.h:86
ove_pm_domain_t
Peripheral power domain identifiers.
Definition pm.h:71
ove_pm_state_t(* ove_pm_policy_fn)(ove_pm_state_t current, uint32_t idle_ms, uint32_t next_timeout_ms, void *user_data)
Power policy callback — returns recommended next state.
Definition pm.h:146
@ OVE_PM_STATE_ACTIVE
Definition pm.h:51
@ OVE_PM_STATE_STANDBY
Definition pm.h:53
@ OVE_PM_STATE_IDLE
Definition pm.h:52
@ OVE_PM_STATE_DEEP_SLEEP
Definition pm.h:54
@ OVE_PM_WAKE_UART
Definition pm.h:64
@ OVE_PM_WAKE_TIMER
Definition pm.h:63
@ OVE_PM_WAKE_GPIO
Definition pm.h:62
@ OVE_PM_WAKE_RTC
Definition pm.h:65
@ OVE_PM_EVENT_PRE_SLEEP
Definition pm.h:87
@ OVE_PM_EVENT_POST_WAKE
Definition pm.h:88
#define OVE_ERR_NOT_SUPPORTED
The requested feature is not supported by the active backend.
Definition types.h:38
PM subsystem configuration.
Definition pm.h:96
uint32_t standby_threshold_ms
Definition pm.h:98
uint32_t deep_sleep_threshold_ms
Definition pm.h:99
uint32_t idle_threshold_ms
Definition pm.h:97
Runtime power statistics.
Definition pm.h:128
uint32_t active_pct_x100
Definition pm.h:132
uint32_t transition_count[OVE_PM_STATE_COUNT]
Definition pm.h:130
uint64_t total_runtime_us
Definition pm.h:131
uint64_t time_in_state_us[OVE_PM_STATE_COUNT]
Definition pm.h:129
Wake source descriptor.
Definition pm.h:105
struct ove_pm_wake_src::@4::@8 uart
struct ove_pm_wake_src::@4::@7 timer
ove_pm_wake_type_t type
Definition pm.h:106
struct ove_pm_wake_src::@4::@9 rtc
struct ove_pm_wake_src::@4::@6 gpio