5 #ifndef OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_DRIVERS_RSTMGR_H_
6 #define OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_DRIVERS_RSTMGR_H_
14 #include "sw/device/silicon_creator/lib/error.h"
40 typedef enum rstmgr_reason {
44 kRstmgrReasonPowerOn = 0,
49 kRstmgrReasonLowPowerExit = 1,
54 kRstmgrReasonSoftwareRequest = 2,
59 kRstmgrReasonSysrstCtrl = 3,
60 kRstmgrReasonWatchdog = 4,
61 kRstmgrReasonPowerUnstable = 5,
62 kRstmgrReasonEscalation = 6,
66 kRstmgrReasonNonDebugModule = 7,
71 kRstmgrReasonLast = 7,
96 uint32_t rstmgr_reason_get(
void);
106 void rstmgr_reason_clear(uint32_t reasons);
111 void rstmgr_alert_info_enable(
void);
116 void rstmgr_cpu_info_enable(
void);
121 #ifdef OT_PLATFORM_RV32
137 rom_error_t rstmgr_info_en_check(uint32_t reset_reasons);
144 #define RSTMGR_OTP_FIELD_ALERT_INFO_EN \
145 (bitfield_field32_t) { .mask = UINT8_MAX, .index = CHAR_BIT * 0 }
146 #define RSTMGR_OTP_FIELD_CPU_INFO_EN \
147 (bitfield_field32_t) { .mask = UINT8_MAX, .index = CHAR_BIT * 1 }