Commit | Line | Data |
---|---|---|
ba02a215 RK |
1 | /* |
2 | * ARM timer implementation, found in Integrator, Versatile and Realview | |
3 | * platforms. Not all platforms support all registers and bits in these | |
4 | * registers, so we mark them with A for Integrator AP, C for Integrator | |
5 | * CP, V for Versatile and R for Realview. | |
6 | * | |
7 | * Integrator AP has 16-bit timers, Integrator CP, Versatile and Realview | |
8 | * can have 16-bit or 32-bit selectable via a bit in the control register. | |
98ed4ceb PM |
9 | * |
10 | * Every SP804 contains two identical timers. | |
ba02a215 | 11 | */ |
98ed4ceb PM |
12 | #define TIMER_1_BASE 0x00 |
13 | #define TIMER_2_BASE 0x20 | |
14 | ||
ba02a215 RK |
15 | #define TIMER_LOAD 0x00 /* ACVR rw */ |
16 | #define TIMER_VALUE 0x04 /* ACVR ro */ | |
17 | #define TIMER_CTRL 0x08 /* ACVR rw */ | |
18 | #define TIMER_CTRL_ONESHOT (1 << 0) /* CVR */ | |
19 | #define TIMER_CTRL_32BIT (1 << 1) /* CVR */ | |
20 | #define TIMER_CTRL_DIV1 (0 << 2) /* ACVR */ | |
21 | #define TIMER_CTRL_DIV16 (1 << 2) /* ACVR */ | |
22 | #define TIMER_CTRL_DIV256 (2 << 2) /* ACVR */ | |
23 | #define TIMER_CTRL_IE (1 << 5) /* VR */ | |
24 | #define TIMER_CTRL_PERIODIC (1 << 6) /* ACVR */ | |
25 | #define TIMER_CTRL_ENABLE (1 << 7) /* ACVR */ | |
b720f732 | 26 | |
ba02a215 RK |
27 | #define TIMER_INTCLR 0x0c /* ACVR wo */ |
28 | #define TIMER_RIS 0x10 /* CVR ro */ | |
29 | #define TIMER_MIS 0x14 /* CVR ro */ | |
30 | #define TIMER_BGLOAD 0x18 /* CVR rw */ |