source: src/linux/universal/linux-4.9/arch/arm/include/asm/smp_twd.h @ 31871

Last change on this file since 31871 was 31871, checked in by brainslayer, 4 months ago

change mpcore watchdog driver for laguna

File size: 1.1 KB
Line 
1#ifndef __ASMARM_SMP_TWD_H
2#define __ASMARM_SMP_TWD_H
3
4#define TWD_TIMER_LOAD                  0x00
5#define TWD_TIMER_COUNTER               0x04
6#define TWD_TIMER_CONTROL               0x08
7#define TWD_TIMER_INTSTAT               0x0C
8
9#define TWD_WDOG_LOAD                   0x20
10#define TWD_WDOG_COUNTER                0x24
11#define TWD_WDOG_CONTROL                0x28
12#define TWD_WDOG_INTSTAT                0x2C
13#define TWD_WDOG_RESETSTAT              0x30
14#define TWD_WDOG_DISABLE                0x34
15
16#define TWD_TIMER_CONTROL_ENABLE        (1 << 0)
17#define TWD_TIMER_CONTROL_ONESHOT       (0 << 1)
18#define TWD_TIMER_CONTROL_PERIODIC      (1 << 1)
19#define TWD_TIMER_CONTROL_IT_ENABLE     (1 << 2)
20
21#define TWD_WDOG_CONTROL_ENABLE         (1 << 0)
22#define TWD_WDOG_CONTROL_PERIODIC       (1 << 1)
23#define TWD_WDOG_CONTROL_IT_ENABLE      (1 << 2)
24#define TWD_WDOG_CONTROL_TIMER_MODE     (0 << 3)
25#define TWD_WDOG_CONTROL_WATCHDOG_MODE  (1 << 3)
26
27#include <linux/ioport.h>
28
29struct twd_local_timer {
30        struct resource res[2];
31};
32
33#define DEFINE_TWD_LOCAL_TIMER(name,base,irq)   \
34struct twd_local_timer name __initdata = {      \
35        .res    = {                             \
36                DEFINE_RES_MEM(base, 0x10),     \
37                DEFINE_RES_IRQ(irq),            \
38        },                                      \
39};
40
41int twd_local_timer_register(struct twd_local_timer *);
42unsigned long twd_timer_get_rate(void);
43
44#endif
Note: See TracBrowser for help on using the repository browser.