RMU

Detailed Description

Reset Management Unit (RMU) Peripheral API.

This module contains functions to control the RMU peripheral of Silicon Labs 32-bit MCUs and SoCs. RMU ensures correct reset operation and is responsible for connecting the different reset sources to the reset lines of the MCU or SoC.

Macros

#define RMU_LockupResetDisable(A)   RMU_ResetControl(rmuResetLockUp, A)
 

Enumerations

enum  RMU_Reset_TypeDef {
  rmuResetWdog0 = _EMU_RSTCTRL_WDOG0RMODE_MASK,
  rmuResetWdog1 = _EMU_RSTCTRL_WDOG1RMODE_MASK,
  rmuResetSys = _EMU_RSTCTRL_SYSRMODE_MASK,
  rmuResetCoreLockup = _EMU_RSTCTRL_LOCKUPRMODE_MASK,
  rmuResetAVDD = _EMU_RSTCTRL_AVDDBODRMODE_MASK,
  rmuResetIOVDD0 = _EMU_RSTCTRL_IOVDD0BODRMODE_MASK,
  rmuResetDecouple = _EMU_RSTCTRL_DECBODRMODE_MASK,
  rmuResetSESys = _EMU_RSTCTRL_SESYSRMODE_MASK,
  rmuResetSELockup = _EMU_RSTCTRL_SELOCKUPRMODE_MASK
}
 
enum  RMU_ResetMode_TypeDef {
  rmuResetModeDisabled = 0,
  rmuResetModeEnabled = 1
}
 

Functions

void RMU_ResetCauseClear (void)
 Clear the reset cause register.
 
uint32_t RMU_ResetCauseGet (void)
 Get the cause of the last reset.
 
void RMU_ResetControl (RMU_Reset_TypeDef reset, RMU_ResetMode_TypeDef mode)
 Disable/enable reset for various peripherals and signal sources.
 

Macro Definition Documentation

#define RMU_LockupResetDisable (   A)    RMU_ResetControl(rmuResetLockUp, A)

RMU_LockupResetDisable kept for backwards compatibility.

Definition at line 131 of file em_rmu.h.

Enumeration Type Documentation

RMU controlled peripheral reset control and reset source control.

Enumerator
rmuResetWdog0 

WDOG0 reset select

rmuResetWdog1 

WDOG1 reset select

rmuResetSys 

SYSRESET select

rmuResetCoreLockup 

Cortex lockup reset select

rmuResetAVDD 

AVDD monitoring select

rmuResetIOVDD0 

IOVDD0 monitoring select

rmuResetDecouple 

Decouple monitoring select

rmuResetSESys 

M0+ (SE) system reset select

rmuResetSELockup 

M0+ (SE) lockup select

Definition at line 75 of file em_rmu.h.

RMU reset modes.

Definition at line 59 of file em_rmu.h.

Function Documentation

void RMU_ResetCauseClear ( void  )

Clear the reset cause register.

This function clears all the reset cause bits of the RSTCAUSE register. The reset cause bits must be cleared by software before a new reset occurs. Otherwise, reset causes may accumulate. See RMU_ResetCauseGet().

Definition at line 273 of file em_rmu.c.

References BUS_RegBitWrite(), EMU_Lock(), and EMU_Unlock().

Referenced by SLEEP_Init().

uint32_t RMU_ResetCauseGet ( void  )

Get the cause of the last reset.

To be useful, the reset cause must be cleared by software before a new reset occurs. Otherwise, reset causes may accumulate. See RMU_ResetCauseClear(). This function call will return the main cause for reset, which can be a bit mask (several causes) and clear away "noise".

Returns
A reset cause mask. See the reference manual for a description of the reset cause mask.

Definition at line 316 of file em_rmu.c.

Referenced by SLEEP_Init().

void RMU_ResetControl ( RMU_Reset_TypeDef  reset,
RMU_ResetMode_TypeDef  mode 
)

Disable/enable reset for various peripherals and signal sources.

Parameters
[in]resetReset types to enable/disable.s
[in]modeReset mode.

Definition at line 245 of file em_rmu.c.

References BUS_RegBitWrite(), and SL_CTZ().