14 #include <linux/types.h>
15 #include <linux/kernel.h>
17 #include <linux/sched.h>
19 #include <linux/time.h>
26 #include <asm/bootinfo.h>
29 #include <asm/hardirq.h>
30 #include <asm/div64.h>
31 #include <asm/debug.h>
36 static unsigned long cpj;
52 struct clock_event_device *
c =
dev_id;
60 static struct irqaction pnx8xxx_timer_irq = {
61 .handler = pnx8xxx_timer_interrupt,
63 .name =
"pnx8xxx_timer",
66 static irqreturn_t monotonic_interrupt(
int irq,
void *dev_id)
73 static struct irqaction monotonic_irqaction = {
74 .handler = monotonic_interrupt,
76 .name =
"Monotonic timer",
79 static int pnx8xxx_set_next_event(
unsigned long delta,
80 struct clock_event_device *
evt)
86 static struct clock_event_device pnx8xxx_clockevent = {
87 .name =
"pnx8xxx_clockevent",
88 .features = CLOCK_EVT_FEAT_ONESHOT,
89 .set_next_event = pnx8xxx_set_next_event,
92 static inline void timer_ack(
void)
99 unsigned int configPR;
111 configPR &= ~0x00000008;
116 configPR &= ~0x00000010;
121 configPR |= 0x00000020;