]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
f32f4ce2 RK |
2 | #ifndef __ASMARM_SMP_TWD_H |
3 | #define __ASMARM_SMP_TWD_H | |
4 | ||
f4a27aed SK |
5 | #define TWD_TIMER_LOAD 0x00 |
6 | #define TWD_TIMER_COUNTER 0x04 | |
7 | #define TWD_TIMER_CONTROL 0x08 | |
8 | #define TWD_TIMER_INTSTAT 0x0C | |
9 | ||
10 | #define TWD_WDOG_LOAD 0x20 | |
11 | #define TWD_WDOG_COUNTER 0x24 | |
12 | #define TWD_WDOG_CONTROL 0x28 | |
13 | #define TWD_WDOG_INTSTAT 0x2C | |
14 | #define TWD_WDOG_RESETSTAT 0x30 | |
15 | #define TWD_WDOG_DISABLE 0x34 | |
16 | ||
17 | #define TWD_TIMER_CONTROL_ENABLE (1 << 0) | |
18 | #define TWD_TIMER_CONTROL_ONESHOT (0 << 1) | |
19 | #define TWD_TIMER_CONTROL_PERIODIC (1 << 1) | |
20 | #define TWD_TIMER_CONTROL_IT_ENABLE (1 << 2) | |
21 | ||
81e46f7b MZ |
22 | #include <linux/ioport.h> |
23 | ||
81e46f7b MZ |
24 | struct twd_local_timer { |
25 | struct resource res[2]; | |
26 | }; | |
27 | ||
28 | #define DEFINE_TWD_LOCAL_TIMER(name,base,irq) \ | |
29 | struct twd_local_timer name __initdata = { \ | |
30 | .res = { \ | |
31 | DEFINE_RES_MEM(base, 0x10), \ | |
32 | DEFINE_RES_IRQ(irq), \ | |
33 | }, \ | |
34 | }; | |
35 | ||
36 | int twd_local_timer_register(struct twd_local_timer *); | |
f32f4ce2 RK |
37 | |
38 | #endif |