diff options
Diffstat (limited to 'arch/arm/mach-at91/include/mach/at91_st.h')
-rw-r--r-- | arch/arm/mach-at91/include/mach/at91_st.h | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/arch/arm/mach-at91/include/mach/at91_st.h b/arch/arm/mach-at91/include/mach/at91_st.h index 8847173e4101..969aac27109f 100644 --- a/arch/arm/mach-at91/include/mach/at91_st.h +++ b/arch/arm/mach-at91/include/mach/at91_st.h | |||
@@ -16,34 +16,46 @@ | |||
16 | #ifndef AT91_ST_H | 16 | #ifndef AT91_ST_H |
17 | #define AT91_ST_H | 17 | #define AT91_ST_H |
18 | 18 | ||
19 | #define AT91_ST_CR (AT91_ST + 0x00) /* Control Register */ | 19 | #ifndef __ASSEMBLY__ |
20 | extern void __iomem *at91_st_base; | ||
21 | |||
22 | #define at91_st_read(field) \ | ||
23 | __raw_readl(at91_st_base + field) | ||
24 | |||
25 | #define at91_st_write(field, value) \ | ||
26 | __raw_writel(value, at91_st_base + field); | ||
27 | #else | ||
28 | .extern at91_st_base | ||
29 | #endif | ||
30 | |||
31 | #define AT91_ST_CR 0x00 /* Control Register */ | ||
20 | #define AT91_ST_WDRST (1 << 0) /* Watchdog Timer Restart */ | 32 | #define AT91_ST_WDRST (1 << 0) /* Watchdog Timer Restart */ |
21 | 33 | ||
22 | #define AT91_ST_PIMR (AT91_ST + 0x04) /* Period Interval Mode Register */ | 34 | #define AT91_ST_PIMR 0x04 /* Period Interval Mode Register */ |
23 | #define AT91_ST_PIV (0xffff << 0) /* Period Interval Value */ | 35 | #define AT91_ST_PIV (0xffff << 0) /* Period Interval Value */ |
24 | 36 | ||
25 | #define AT91_ST_WDMR (AT91_ST + 0x08) /* Watchdog Mode Register */ | 37 | #define AT91_ST_WDMR 0x08 /* Watchdog Mode Register */ |
26 | #define AT91_ST_WDV (0xffff << 0) /* Watchdog Counter Value */ | 38 | #define AT91_ST_WDV (0xffff << 0) /* Watchdog Counter Value */ |
27 | #define AT91_ST_RSTEN (1 << 16) /* Reset Enable */ | 39 | #define AT91_ST_RSTEN (1 << 16) /* Reset Enable */ |
28 | #define AT91_ST_EXTEN (1 << 17) /* External Signal Assertion Enable */ | 40 | #define AT91_ST_EXTEN (1 << 17) /* External Signal Assertion Enable */ |
29 | 41 | ||
30 | #define AT91_ST_RTMR (AT91_ST + 0x0c) /* Real-time Mode Register */ | 42 | #define AT91_ST_RTMR 0x0c /* Real-time Mode Register */ |
31 | #define AT91_ST_RTPRES (0xffff << 0) /* Real-time Prescalar Value */ | 43 | #define AT91_ST_RTPRES (0xffff << 0) /* Real-time Prescalar Value */ |
32 | 44 | ||
33 | #define AT91_ST_SR (AT91_ST + 0x10) /* Status Register */ | 45 | #define AT91_ST_SR 0x10 /* Status Register */ |
34 | #define AT91_ST_PITS (1 << 0) /* Period Interval Timer Status */ | 46 | #define AT91_ST_PITS (1 << 0) /* Period Interval Timer Status */ |
35 | #define AT91_ST_WDOVF (1 << 1) /* Watchdog Overflow */ | 47 | #define AT91_ST_WDOVF (1 << 1) /* Watchdog Overflow */ |
36 | #define AT91_ST_RTTINC (1 << 2) /* Real-time Timer Increment */ | 48 | #define AT91_ST_RTTINC (1 << 2) /* Real-time Timer Increment */ |
37 | #define AT91_ST_ALMS (1 << 3) /* Alarm Status */ | 49 | #define AT91_ST_ALMS (1 << 3) /* Alarm Status */ |
38 | 50 | ||
39 | #define AT91_ST_IER (AT91_ST + 0x14) /* Interrupt Enable Register */ | 51 | #define AT91_ST_IER 0x14 /* Interrupt Enable Register */ |
40 | #define AT91_ST_IDR (AT91_ST + 0x18) /* Interrupt Disable Register */ | 52 | #define AT91_ST_IDR 0x18 /* Interrupt Disable Register */ |
41 | #define AT91_ST_IMR (AT91_ST + 0x1c) /* Interrupt Mask Register */ | 53 | #define AT91_ST_IMR 0x1c /* Interrupt Mask Register */ |
42 | 54 | ||
43 | #define AT91_ST_RTAR (AT91_ST + 0x20) /* Real-time Alarm Register */ | 55 | #define AT91_ST_RTAR 0x20 /* Real-time Alarm Register */ |
44 | #define AT91_ST_ALMV (0xfffff << 0) /* Alarm Value */ | 56 | #define AT91_ST_ALMV (0xfffff << 0) /* Alarm Value */ |
45 | 57 | ||
46 | #define AT91_ST_CRTR (AT91_ST + 0x24) /* Current Real-time Register */ | 58 | #define AT91_ST_CRTR 0x24 /* Current Real-time Register */ |
47 | #define AT91_ST_CRTV (0xfffff << 0) /* Current Real-Time Value */ | 59 | #define AT91_ST_CRTV (0xfffff << 0) /* Current Real-Time Value */ |
48 | 60 | ||
49 | #endif | 61 | #endif |