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