37 #if defined(BURTC_PRESENT)
62 #define burtcClkDiv_1 1
63 #define burtcClkDiv_2 2
64 #define burtcClkDiv_4 4
65 #define burtcClkDiv_8 8
66 #define burtcClkDiv_16 16
67 #define burtcClkDiv_32 32
68 #define burtcClkDiv_64 64
69 #define burtcClkDiv_128 128
134 #define BURTC_INIT_DEFAULT \
177 BURTC->IEN &= ~(flags);
238 return BURTC->IF & tmp;
265 return BURTC->STATUS;
288 EFM_ASSERT(((enable ==
true)
291 || (enable ==
false));
323 return BURTC->TIMESTAMP;
362 EFM_ASSERT(num <= 127);
364 BURTC->RET[num].REG = data;
377 EFM_ASSERT(num <= 127);
379 return BURTC->RET[num].REG;
__STATIC_INLINE void BURTC_Unlock(void)
Unlock BURTC registers, enable write access to change configuration.
Emlib peripheral API "assert" implementation.
RAM and peripheral bit-field set and clear API.
#define _BURTC_CTRL_MODE_MASK
#define BURTC_CTRL_MODE_DISABLE
#define BURTC_LOCK_LOCKKEY_LOCK
#define BURTC_CTRL_CLKSEL_LFRCO
void BURTC_Reset(void)
Restore BURTC to reset state.
__STATIC_INLINE void BURTC_RetRegSet(uint32_t num, uint32_t data)
Set a value in one of the retention registers.
CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories microcontroller devices.
#define BURTC_CMD_CLRSTATUS
__STATIC_INLINE void BURTC_IntDisable(uint32_t flags)
Disable one or more BURTC interrupts.
#define BURTC_CTRL_CLKSEL_ULFRCO
__STATIC_INLINE void BURTC_IntSet(uint32_t flags)
Set one or more pending BURTC interrupts from SW.
__STATIC_INLINE void BURTC_IntEnable(uint32_t flags)
Enable one or more BURTC interrupts.
#define BURTC_CTRL_MODE_EM3EN
void BURTC_Init(const BURTC_Init_TypeDef *burtcInit)
Initialize BURTC.
#define BURTC_LPMODE_LPMODE_ENABLE
__STATIC_INLINE uint32_t BURTC_TimestampGet(void)
Get BURTC timestamp for entering BU.
__STATIC_INLINE uint32_t BURTC_Status(void)
Status of BURTC RAM, timestamp and LP Mode.
#define BURTC_LOCK_LOCKKEY_UNLOCK
__STATIC_INLINE void BURTC_Powerdown(bool enable)
Shut down power to rentention register bank.
BURTC_ClkSel_TypeDef clkSel
BURTC_LP_TypeDef lowPowerMode
#define BURTC_LPMODE_LPMODE_BUEN
uint32_t BURTC_CompareGet(unsigned int comp)
Get BURTC compare value.
#define _BURTC_FREEZE_REGFREEZE_SHIFT
#define BURTC_CTRL_MODE_EM2EN
__STATIC_INLINE void BURTC_IntClear(uint32_t flags)
Clear one or more pending BURTC interrupts.
__STATIC_INLINE uint32_t BURTC_CounterGet(void)
Get BURTC counter.
#define BURTC_CTRL_CLKSEL_LFXO
__STATIC_INLINE void BURTC_StatusClear(void)
Clear and reset BURTC status register.
__STATIC_INLINE void BURTC_FreezeEnable(bool enable)
Freeze register updates until enabled.
#define _BURTC_POWERDOWN_RAM_SHIFT
#define BURTC_CTRL_MODE_EM4EN
__STATIC_INLINE uint32_t BURTC_RetRegGet(uint32_t num)
Read a value from one of the retention registers.
__STATIC_INLINE void BURTC_Enable(bool enable)
Enable or Disable BURTC peripheral reset and start counter.
__STATIC_INLINE void BUS_RegBitWrite(volatile uint32_t *addr, unsigned int bit, unsigned int val)
Perform a single-bit write operation on a peripheral register.
__STATIC_INLINE void BURTC_Lock(void)
Lock BURTC registers, will protect from writing new config settings.
uint32_t BURTC_ClockFreqGet(void)
Get clock frequency of the BURTC.
#define _BURTC_CTRL_RSTEN_SHIFT
#define BURTC_LPMODE_LPMODE_DISABLE
void BURTC_CounterReset(void)
Reset counter.
__STATIC_INLINE uint32_t BURTC_IntGetEnabled(void)
Get enabled and pending BURTC interrupt flags.
__STATIC_INLINE uint32_t BURTC_IntGet(void)
Get pending BURTC interrupt flags.
void BURTC_CompareSet(unsigned int comp, uint32_t value)
Set BURTC compare channel.