46 #define TIMER_CONFIG_WITH_PRESCALER 0x2
47 #define TIMER_CONFIG_WITHOUT_PRESCALER 0x1
48 #define TIMER_CONFIG_SELF_RESTART 0x10000
84 typedef volatile struct
void utimer_applyConfig(utimer_instance_t *inst)
Apply the software configuration to the hardware.
u32 utimer_setConfig(utimer_instance_t *inst, u32 value)
Set Timer Configuration.
u32 utimer_getConfig(utimer_instance_t *inst)
Get stored Timer Configuration.
u32 utimer_getLimit(utimer_instance_t *inst)
Get stored Timer Limit (Reload Value).
void utimer_clearValue(utimer_instance_t *inst)
Clear Timer Value to zero.
u32 utimer_getPrescalerValue(utimer_instance_t *inst)
Get stored Prescaler Value.
u32 utimer_setPrescalerValue(utimer_instance_t *inst, u32 value)
Set Prescaler Value.
u32 utimer_setLimit(utimer_instance_t *inst, u32 value)
Get stored Timer Limit (Reload Value).
u32 utimer_getValue(utimer_instance_t *inst)
Get current Timer Value.
Timer hardware register map.
u32 reserved0[(0x0040U-0x4U)/4U]
Reserved Space (0x04 to 0x3F) */.
u32 PRESCALER
Address Offset: 0x00 - Prescaler Register */.
u32 TIMER_VALUE
Address Offset: 0x48 - Timer Current Value Register */.
u32 TIMER_CONFIG
Address Offset: 0x40 - Timer Configuration Register */.
u32 TIMER_LIMIT
Address Offset: 0x44 - Timer Limit Register */.
Timer instance. Holds the software registers and hardware pointer.
u32 timer_limit
Timer limit value */.
u32 self_restart
Self restart enable flag */.
u32 prescaler_value
Prescaler value */.
u32 prescaler_enable
Prescaler enable flag */.
utimer_hwreg_t * hwreg
Pointer to Hardware Register Map */.