Lines Matching refs:letimer
89 __STATIC_INLINE void LETIMER_Sync(LETIMER_TypeDef *letimer, uint32_t mask) in LETIMER_Sync() argument
93 if (letimer->FREEZE & LETIMER_FREEZE_REGFREEZE) in LETIMER_Sync()
98 while (letimer->SYNCBUSY & mask) in LETIMER_Sync()
122 uint32_t LETIMER_CompareGet(LETIMER_TypeDef *letimer, unsigned int comp) in LETIMER_CompareGet() argument
126 EFM_ASSERT(LETIMER_REF_VALID(letimer) && LETIMER_COMP_REG_VALID(comp)); in LETIMER_CompareGet()
132 ret = letimer->COMP0; in LETIMER_CompareGet()
136 ret = letimer->COMP1; in LETIMER_CompareGet()
169 void LETIMER_CompareSet(LETIMER_TypeDef *letimer, in LETIMER_CompareSet() argument
176 EFM_ASSERT(LETIMER_REF_VALID(letimer) && in LETIMER_CompareSet()
184 compReg = &(letimer->COMP0); in LETIMER_CompareSet()
189 compReg = &(letimer->COMP1); in LETIMER_CompareSet()
200 LETIMER_Sync(letimer, syncbusy); in LETIMER_CompareSet()
225 void LETIMER_Enable(LETIMER_TypeDef *letimer, bool enable) in LETIMER_Enable() argument
227 EFM_ASSERT(LETIMER_REF_VALID(letimer)); in LETIMER_Enable()
231 LETIMER_Sync(letimer, LETIMER_SYNCBUSY_CMD); in LETIMER_Enable()
236 letimer->CMD = LETIMER_CMD_START; in LETIMER_Enable()
240 letimer->CMD = LETIMER_CMD_STOP; in LETIMER_Enable()
272 void LETIMER_FreezeEnable(LETIMER_TypeDef *letimer, bool enable) in LETIMER_FreezeEnable() argument
285 while (letimer->SYNCBUSY) in LETIMER_FreezeEnable()
288 letimer->FREEZE = LETIMER_FREEZE_REGFREEZE; in LETIMER_FreezeEnable()
292 letimer->FREEZE = 0; in LETIMER_FreezeEnable()
321 void LETIMER_Init(LETIMER_TypeDef *letimer, const LETIMER_Init_TypeDef *init) in LETIMER_Init() argument
325 EFM_ASSERT(LETIMER_REF_VALID(letimer)); in LETIMER_Init()
328 if (!(init->enable) && (letimer->STATUS & LETIMER_STATUS_RUNNING)) in LETIMER_Init()
332 LETIMER_Sync(letimer, LETIMER_SYNCBUSY_CMD); in LETIMER_Init()
334 letimer->CMD = LETIMER_CMD_STOP; in LETIMER_Init()
380 LETIMER_Sync(letimer, LETIMER_SYNCBUSY_CTRL); in LETIMER_Init()
382 letimer->CTRL = tmp; in LETIMER_Init()
385 if (init->enable && !(letimer->STATUS & LETIMER_STATUS_RUNNING)) in LETIMER_Init()
389 LETIMER_Sync(letimer, LETIMER_SYNCBUSY_CMD); in LETIMER_Init()
391 letimer->CMD = LETIMER_CMD_START; in LETIMER_Init()
409 uint32_t LETIMER_RepeatGet(LETIMER_TypeDef *letimer, unsigned int rep) in LETIMER_RepeatGet() argument
413 EFM_ASSERT(LETIMER_REF_VALID(letimer) && LETIMER_REP_REG_VALID(rep)); in LETIMER_RepeatGet()
419 ret = letimer->REP0; in LETIMER_RepeatGet()
423 ret = letimer->REP1; in LETIMER_RepeatGet()
456 void LETIMER_RepeatSet(LETIMER_TypeDef *letimer, in LETIMER_RepeatSet() argument
464 EFM_ASSERT(LETIMER_REF_VALID(letimer) && in LETIMER_RepeatSet()
472 repReg = &(letimer->REP0); in LETIMER_RepeatSet()
479 repReg = &(letimer->REP1); in LETIMER_RepeatSet()
492 LETIMER_Sync(letimer, syncbusy); in LETIMER_RepeatSet()
510 void LETIMER_Reset(LETIMER_TypeDef *letimer) in LETIMER_Reset() argument
513 LETIMER_FreezeEnable(letimer, true); in LETIMER_Reset()
516 letimer->CMD = LETIMER_CMD_STOP | LETIMER_CMD_CLEAR | in LETIMER_Reset()
518 letimer->CTRL = _LETIMER_CTRL_RESETVALUE; in LETIMER_Reset()
519 letimer->COMP0 = _LETIMER_COMP0_RESETVALUE; in LETIMER_Reset()
520 letimer->COMP1 = _LETIMER_COMP1_RESETVALUE; in LETIMER_Reset()
521 letimer->REP0 = _LETIMER_REP0_RESETVALUE; in LETIMER_Reset()
522 letimer->REP1 = _LETIMER_REP1_RESETVALUE; in LETIMER_Reset()
523 letimer->IEN = _LETIMER_IEN_RESETVALUE; in LETIMER_Reset()
524 letimer->IFC = _LETIMER_IFC_MASK; in LETIMER_Reset()
528 LETIMER_FreezeEnable(letimer, false); in LETIMER_Reset()