4 #include <linux/clockchips.h>
6 #define TIMER_OF_BASE 0x1
7 #define TIMER_OF_CLOCK 0x2
8 #define TIMER_OF_IRQ 0x4
16 irq_handler_t handler
;
19 struct of_timer_base
{
35 struct clock_event_device clkevt
;
36 struct of_timer_base of_base
;
37 struct of_timer_irq of_irq
;
38 struct of_timer_clk of_clk
;
42 static inline struct timer_of
*to_timer_of(struct clock_event_device
*clkevt
)
44 return container_of(clkevt
, struct timer_of
, clkevt
);
47 static inline void __iomem
*timer_of_base(struct timer_of
*to
)
49 return to
->of_base
.base
;
52 static inline int timer_of_irq(struct timer_of
*to
)
54 return to
->of_irq
.irq
;
57 static inline unsigned long timer_of_rate(struct timer_of
*to
)
59 return to
->of_clk
.rate
;
62 static inline unsigned long timer_of_period(struct timer_of
*to
)
64 return to
->of_clk
.period
;
67 extern int __init
timer_of_init(struct device_node
*np
,