61 #include "../inc/hw_types.h" 62 #include "../inc/hw_memmap.h" 63 #include "../inc/hw_pmctl.h" 65 #include "../cmsis/cc23x0r2.h" 66 #include "../cmsis/core/core_cm0plus.h" 79 #define PMCTL_RESET_SHUTDOWN_IO (PMCTL_RSTSTA_SDDET | PMCTL_RSTSTA_IOWUSD) 80 #define PMCTL_RESET_SHUTDOWN_SWD PMCTL_RSTSTA_SDDET 82 #define PMCTL_RESET_WATCHDOG (PMCTL_RSTSTA_SYSSRC_WDTEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 84 #define PMCTL_RESET_SYSTEM (PMCTL_RSTSTA_SYSSRC_SYSRSTEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 86 #define PMCTL_RESET_CPU (PMCTL_RSTSTA_SYSSRC_CPURSTEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 88 #define PMCTL_RESET_LOCKUP (PMCTL_RSTSTA_SYSSRC_LOCKUPEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 90 #define PMCTL_RESET_ANALOG_FSM_TIMEOUT (PMCTL_RSTSTA_SYSSRC_AFSMEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 92 #define PMCTL_RESET_ANALOG_ERROR (PMCTL_RSTSTA_SYSSRC_AERREV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 94 #define PMCTL_RESET_DIGITAL_ERROR (PMCTL_RSTSTA_SYSSRC_DERREV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 96 #define PMCTL_RESET_SWD (PMCTL_RSTSTA_SYSSRC_SWDRSTEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 98 #define PMCTL_RESET_LFXT (PMCTL_RSTSTA_SYSSRC_LFLOSSEV | PMCTL_RSTSTA_RESETSRC_SYSRESET) 100 #define PMCTL_RESET_TSD (PMCTL_RSTSTA_TSDEV | PMCTL_RSTSTA_RESETSRC_PINRESET) 102 #define PMCTL_RESET_VDDR PMCTL_RSTSTA_RESETSRC_VDDRLOSS 104 #define PMCTL_RESET_VDDS PMCTL_RSTSTA_RESETSRC_VDDSLOSS 106 #define PMCTL_RESET_PIN PMCTL_RSTSTA_RESETSRC_PINRESET 108 #define PMCTL_RESET_POR PMCTL_RSTSTA_RESETSRC_PWRON 117 #define PMCTL_VOLTAGE_REGULATOR_DCDC PMCTL_VDDRCTL_SELECT_DCDC 118 #define PMCTL_VOLTAGE_REGULATOR_GLDO PMCTL_VDDRCTL_SELECT_GLDO 149 return HWREG(PMCTL_BASE + PMCTL_O_RSTSTA);
168 HWREG(PMCTL_BASE + PMCTL_O_RSTCTL) |= PMCTL_RSTCTL_SYSRST_SET;
192 uint32_t tmp = HWREG(PMCTL_BASE + PMCTL_O_VDDRCTL) & ~PMCTL_VDDRCTL_SELECT_M;
193 HWREG(PMCTL_BASE + PMCTL_O_VDDRCTL) = tmp | regulator;
209 return (HWREG(PMCTL_BASE + PMCTL_O_VDDRCTL) & PMCTL_VDDRCTL_SELECT_M);
229 #endif // __PMCTL_H__ __STATIC_INLINE void PMCTLResetSystem(void)
Issue a system reset.
Definition: pmctl.h:162
__STATIC_INLINE uint32_t PMCTLGetVoltageRegulator(void)
Get the current VDDR regulator.
Definition: pmctl.h:207
__STATIC_FORCEINLINE void __disable_irq(void)
Disable IRQ Interrupts.
Definition: cmsis_gcc.h:207
__STATIC_INLINE void PMCTLSetVoltageRegulator(uint32_t regulator)
Set the VDDR regulator.
Definition: pmctl.h:188
__STATIC_INLINE uint32_t PMCTLGetResetReason(void)
Get the reason for the system reset.
Definition: pmctl.h:147
#define __STATIC_INLINE
Definition: cmsis_gcc.h:47