MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / include / asm-arm / arch-moxacpu / cpe_time.h
blob923e07fa3b3f15652f33cdcb41672cce28ab3aa2
1 #ifndef _CPE_TIME_H_
2 #define _CPE_TIME_H_
3 #include <asm/arch/cpe/cpe.h>
4 #include <asm/arch/cpe_int.h>
6 #define TIMER1_COUNT 0x0
7 #define TIMER1_LOAD 0x4
8 #define TIMER1_MATCH1 0x8
9 #define TIMER1_MATCH2 0xC
10 #define TIMER2_COUNT 0x10
11 #define TIMER2_LOAD 0x14
12 #define TIMER2_MATCH1 0x18
13 #define TIMER2_MATCH2 0x1C
14 #define TIMER3_COUNT 0x20
15 #define TIMER3_LOAD 0x24
16 #define TIMER3_MATCH1 0x28
17 #define TIMER3_MATCH2 0x2C
18 #define TIMER_CR 0x30
19 #define TIMER_INTR_STATE 0x34
20 #define TIMER_INTR_MASK 0x38
22 typedef struct
24 unsigned int Tm1En:1; // Timer1 enable bit
25 unsigned int Tm1Clock:1; // Timer1 clock source (0: PCLK, 1: EXT1CLK)
26 unsigned int Tm1OfEn:1; // Timer1 over flow interrupt enable bit
27 unsigned int Tm2En:1;
28 unsigned int Tm2Clock:1;
29 unsigned int Tm2OfEn:1;
30 unsigned int Tm3En:1;
31 unsigned int Tm3Clock:1;
32 unsigned int Tm3OfEn:1;
33 unsigned int Reserved;
34 } cpe_time_ctrl_t;
36 typedef struct
38 unsigned int TimerValue;
39 unsigned int TimerLoad;
40 unsigned int TimerMatch1;
41 unsigned int TimerMatch2;
42 } cpe_time_reg_t;
44 extern cpe_time_reg_t *TimerBase[];
45 extern unsigned int cpe_timer_enable(unsigned int timer);
46 extern unsigned int cpe_timer_disable(unsigned int timer);
47 extern void cpe_timer_set_counter(unsigned int timer, unsigned int value);
48 extern void cpe_timer_set_reload(unsigned int timer, unsigned int value);
49 extern unsigned int cpe_timer_get_counter(unsigned int timer);
50 extern unsigned long cpe_gettimeoffset(void);
52 #endif // _CPE_TIME_H