forked from Minki/linux
9248510469
Now that all users of the previous local timer interface have been converted to the runtime registration API, make this interface the only one supported for this driver. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
46 lines
1007 B
C
46 lines
1007 B
C
#ifndef __ASMARM_SMP_TWD_H
|
|
#define __ASMARM_SMP_TWD_H
|
|
|
|
#define TWD_TIMER_LOAD 0x00
|
|
#define TWD_TIMER_COUNTER 0x04
|
|
#define TWD_TIMER_CONTROL 0x08
|
|
#define TWD_TIMER_INTSTAT 0x0C
|
|
|
|
#define TWD_WDOG_LOAD 0x20
|
|
#define TWD_WDOG_COUNTER 0x24
|
|
#define TWD_WDOG_CONTROL 0x28
|
|
#define TWD_WDOG_INTSTAT 0x2C
|
|
#define TWD_WDOG_RESETSTAT 0x30
|
|
#define TWD_WDOG_DISABLE 0x34
|
|
|
|
#define TWD_TIMER_CONTROL_ENABLE (1 << 0)
|
|
#define TWD_TIMER_CONTROL_ONESHOT (0 << 1)
|
|
#define TWD_TIMER_CONTROL_PERIODIC (1 << 1)
|
|
#define TWD_TIMER_CONTROL_IT_ENABLE (1 << 2)
|
|
|
|
#include <linux/ioport.h>
|
|
|
|
struct twd_local_timer {
|
|
struct resource res[2];
|
|
};
|
|
|
|
#define DEFINE_TWD_LOCAL_TIMER(name,base,irq) \
|
|
struct twd_local_timer name __initdata = { \
|
|
.res = { \
|
|
DEFINE_RES_MEM(base, 0x10), \
|
|
DEFINE_RES_IRQ(irq), \
|
|
}, \
|
|
};
|
|
|
|
int twd_local_timer_register(struct twd_local_timer *);
|
|
|
|
#ifdef CONFIG_HAVE_ARM_TWD
|
|
void twd_local_timer_of_register(void);
|
|
#else
|
|
static inline void twd_local_timer_of_register(void)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#endif
|