RMU - Reset Management Unit

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.

Functions

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

Macros

#define RMU_LockupResetDisable(A)   RMU_ResetControl(rmuResetLockUp, A)
 RMU_LockupResetDisable kept for backwards compatibility.
 

Enumerations

enum  RMU_ResetMode_TypeDef {
  rmuResetModeDisabled = _RMU_CTRL_PINRMODE_DISABLED,
  rmuResetModeLimited = _RMU_CTRL_PINRMODE_LIMITED,
  rmuResetModeExtended = _RMU_CTRL_PINRMODE_EXTENDED,
  rmuResetModeFull = _RMU_CTRL_PINRMODE_FULL
}
 RMU reset modes.
 
enum  RMU_Reset_TypeDef {
  rmuResetLockUp = _RMU_CTRL_LOCKUPRMODE_MASK,
  rmuResetWdog = _RMU_CTRL_WDOGRMODE_MASK,
  rmuResetCoreLockup = _RMU_CTRL_LOCKUPRMODE_MASK,
  rmuResetSys = _RMU_CTRL_SYSRMODE_MASK,
  rmuResetPin = _RMU_CTRL_PINRMODE_MASK
}
 RMU controlled peripheral reset control and reset source control.
 

Function Documentation

◆ RMU_ResetControl()

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.

◆ RMU_ResetCauseClear()

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().

◆ RMU_ResetCauseGet()

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.

◆ RMU_UserResetStateSet()

void RMU_UserResetStateSet ( uint32_t  userState)
inline

Set user reset state.

Reset only by a Power-on-reset and a pin reset.

Parameters
[in]userStateUser state to set

◆ RMU_UserResetStateGet()

uint32_t RMU_UserResetStateGet ( void  )
inline

Get user reset state.

Reset only by a Power-on-reset and a pin reset.

Returns
Reset surviving user state.

Macro Definition Documentation

◆ RMU_LockupResetDisable

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

RMU_LockupResetDisable kept for backwards compatibility.

Enumeration Type Documentation

◆ RMU_ResetMode_TypeDef

RMU reset modes.

Enumerator
rmuResetModeDisabled 

Reset mode disabled.

rmuResetModeLimited 

Reset mode limited.

rmuResetModeExtended 

Reset mode extended.

rmuResetModeFull 

Reset mode full.

◆ RMU_Reset_TypeDef

RMU controlled peripheral reset control and reset source control.

Enumerator
rmuResetLockUp 

Cortex lockup reset select.

rmuResetWdog 

WDOG reset select.

rmuResetCoreLockup 

Cortex lockup reset select.

rmuResetSys 

SYSRESET select.

rmuResetPin 

Pin reset select.