55 lines
1019 B
C
55 lines
1019 B
C
#ifndef _TIMER_H
|
|
#define _TIMER_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
TIMER_ID0 = 0,
|
|
TIMER_ID1,
|
|
TIMER_ID2,
|
|
TIMER_ID3,
|
|
} eTimerID;
|
|
|
|
#define TIMER_LOAD_COUNT(x) ((x) * 0x14 + 0x00)
|
|
#define TIMER_CURRENT_VAL(x) ((x) * 0x14 + 0x04)
|
|
#define TIMER_CTRL(x) ((x) * 0x14 + 0x08)
|
|
#define TIMER_EOI(x) ((x) * 0x14 + 0x0c)
|
|
#define TIMER_INT_STATUS(x) ((x) * 0x14 + 0x10)
|
|
|
|
|
|
#define TIMER_CTRL_INT_MASK (1ul << 2)
|
|
#define TIMER_CTRL_PERIODIC (1ul << 1)
|
|
#define TIMER_CTRL_ENABLE (1ul << 0)
|
|
|
|
void vTimerInit(uint32_t id, int32_t inten, int32_t periodic, uint32_t rate);
|
|
|
|
void vTimerEnable(uint32_t id);
|
|
|
|
void vTimerDisable(uint32_t id);
|
|
|
|
void vTimerClrInt(uint32_t id);
|
|
|
|
void vInitialiseTimerForRunTimeState(void);
|
|
|
|
uint32_t ulGetRunTimeCountValue(void);
|
|
|
|
void vInitialiseTimerForDelay(void);
|
|
|
|
void vTimerUdelay(uint32_t usec);
|
|
|
|
void vTimerMdelay(uint32_t msec);
|
|
|
|
void udelay(uint32_t usec);
|
|
|
|
void mdelay(uint32_t msec);
|
|
|
|
uint32_t get_timer(uint32_t base); /* us */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|