5 #ifndef OPENTITAN_SW_DEVICE_TESTS_PWRMGR_SLEEP_RESETS_LIB_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_PWRMGR_SLEEP_RESETS_LIB_H_
25 typedef enum pwmgr_sleep_resets_lib_times {
26 kWdogBarkMicros = 3 * 100,
27 kWdogBiteMicros = 4 * 100,
28 kEscalationPhase0Micros = 1 * 100,
30 kEscalationPhase0MicrosCpu = kEscalationPhase0Micros + 20,
31 kEscalationPhase1Micros = 5 * 100,
32 kEscalationPhase2Micros = 50,
35 kWaitWhileActiveMicros = 500000,
36 } pwmgr_sleep_resets_lib_times_t;
41 typedef enum pwrmgr_sleep_resets_lib_modes {
45 kPwrmgrSleepResetsLibModesDeepSleep = 1,
50 kPwrmgrSleepResetsLibModesNormalSleep = 2,
55 kPwrmgrSleepResetsLibModesActive = 3
56 } pwrmgr_sleep_resets_lib_modes_t;
62 extern dif_rv_plic_t *plic;
63 extern dif_rstmgr_t *rstmgr;
68 void init_peripherals(
void);
75 void config_alert_handler(
void);
89 void config_wdog(uint64_t bark_micros, uint64_t bite_micros);
96 void trigger_escalation(
void);
103 void prepare_for_wdog(pwrmgr_sleep_resets_lib_modes_t mode);
110 void prepare_for_sysrst(pwrmgr_sleep_resets_lib_modes_t mode);
118 void ottf_external_isr(uint32_t *exc_info);