• Home
  • Raw
  • Download

Lines Matching refs:timer

132 int omap_dm_timer_free(struct omap_dm_timer *timer);
133 void omap_dm_timer_enable(struct omap_dm_timer *timer);
134 void omap_dm_timer_disable(struct omap_dm_timer *timer);
136 int omap_dm_timer_get_irq(struct omap_dm_timer *timer);
139 struct clk *omap_dm_timer_get_fclk(struct omap_dm_timer *timer);
141 int omap_dm_timer_trigger(struct omap_dm_timer *timer);
142 int omap_dm_timer_start(struct omap_dm_timer *timer);
143 int omap_dm_timer_stop(struct omap_dm_timer *timer);
145 int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source);
146 int omap_dm_timer_set_load(struct omap_dm_timer *timer, int autoreload, unsigned int value);
147 int omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload, unsigned int value);
148 int omap_dm_timer_set_match(struct omap_dm_timer *timer, int enable, unsigned int match);
149 int omap_dm_timer_set_pwm(struct omap_dm_timer *timer, int def_on, int toggle, int trigger);
150 int omap_dm_timer_set_prescaler(struct omap_dm_timer *timer, int prescaler);
152 int omap_dm_timer_set_int_enable(struct omap_dm_timer *timer, unsigned int value);
153 int omap_dm_timer_set_int_disable(struct omap_dm_timer *timer, u32 mask);
155 unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer);
156 int omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value);
157 unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer);
158 int omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value);
279 static inline u32 __omap_dm_timer_read(struct omap_dm_timer *timer, u32 reg, in __omap_dm_timer_read() argument
283 while (readl_relaxed(timer->pend) & (reg >> WPSHIFT)) in __omap_dm_timer_read()
286 return readl_relaxed(timer->func_base + (reg & 0xff)); in __omap_dm_timer_read()
289 static inline void __omap_dm_timer_write(struct omap_dm_timer *timer, in __omap_dm_timer_write() argument
293 while (readl_relaxed(timer->pend) & (reg >> WPSHIFT)) in __omap_dm_timer_write()
296 writel_relaxed(val, timer->func_base + (reg & 0xff)); in __omap_dm_timer_write()
299 static inline void __omap_dm_timer_init_regs(struct omap_dm_timer *timer) in __omap_dm_timer_init_regs() argument
304 tidr = readl_relaxed(timer->io_base); in __omap_dm_timer_init_regs()
306 timer->revision = 1; in __omap_dm_timer_init_regs()
307 timer->irq_stat = timer->io_base + OMAP_TIMER_V1_STAT_OFFSET; in __omap_dm_timer_init_regs()
308 timer->irq_ena = timer->io_base + OMAP_TIMER_V1_INT_EN_OFFSET; in __omap_dm_timer_init_regs()
309 timer->irq_dis = timer->io_base + OMAP_TIMER_V1_INT_EN_OFFSET; in __omap_dm_timer_init_regs()
310 timer->pend = timer->io_base + _OMAP_TIMER_WRITE_PEND_OFFSET; in __omap_dm_timer_init_regs()
311 timer->func_base = timer->io_base; in __omap_dm_timer_init_regs()
313 timer->revision = 2; in __omap_dm_timer_init_regs()
314 timer->irq_stat = timer->io_base + OMAP_TIMER_V2_IRQSTATUS; in __omap_dm_timer_init_regs()
315 timer->irq_ena = timer->io_base + OMAP_TIMER_V2_IRQENABLE_SET; in __omap_dm_timer_init_regs()
316 timer->irq_dis = timer->io_base + OMAP_TIMER_V2_IRQENABLE_CLR; in __omap_dm_timer_init_regs()
317 timer->pend = timer->io_base + in __omap_dm_timer_init_regs()
320 timer->func_base = timer->io_base + OMAP_TIMER_V2_FUNC_OFFSET; in __omap_dm_timer_init_regs()
334 static inline void __omap_dm_timer_enable_posted(struct omap_dm_timer *timer) in __omap_dm_timer_enable_posted() argument
336 if (timer->posted) in __omap_dm_timer_enable_posted()
339 if (timer->errata & OMAP_TIMER_ERRATA_I103_I767) { in __omap_dm_timer_enable_posted()
340 timer->posted = OMAP_TIMER_NONPOSTED; in __omap_dm_timer_enable_posted()
341 __omap_dm_timer_write(timer, OMAP_TIMER_IF_CTRL_REG, 0, 0); in __omap_dm_timer_enable_posted()
345 __omap_dm_timer_write(timer, OMAP_TIMER_IF_CTRL_REG, in __omap_dm_timer_enable_posted()
347 timer->context.tsicr = OMAP_TIMER_CTRL_POSTED; in __omap_dm_timer_enable_posted()
348 timer->posted = OMAP_TIMER_POSTED; in __omap_dm_timer_enable_posted()
361 static inline void __omap_dm_timer_override_errata(struct omap_dm_timer *timer, in __omap_dm_timer_override_errata() argument
364 timer->errata &= ~errata; in __omap_dm_timer_override_errata()
367 static inline void __omap_dm_timer_stop(struct omap_dm_timer *timer, in __omap_dm_timer_stop() argument
372 l = __omap_dm_timer_read(timer, OMAP_TIMER_CTRL_REG, posted); in __omap_dm_timer_stop()
375 __omap_dm_timer_write(timer, OMAP_TIMER_CTRL_REG, l, posted); in __omap_dm_timer_stop()
378 __omap_dm_timer_read(timer, OMAP_TIMER_CTRL_REG, posted); in __omap_dm_timer_stop()
388 writel_relaxed(OMAP_TIMER_INT_OVERFLOW, timer->irq_stat); in __omap_dm_timer_stop()
391 static inline void __omap_dm_timer_load_start(struct omap_dm_timer *timer, in __omap_dm_timer_load_start() argument
395 __omap_dm_timer_write(timer, OMAP_TIMER_COUNTER_REG, load, posted); in __omap_dm_timer_load_start()
396 __omap_dm_timer_write(timer, OMAP_TIMER_CTRL_REG, ctrl, posted); in __omap_dm_timer_load_start()
399 static inline void __omap_dm_timer_int_enable(struct omap_dm_timer *timer, in __omap_dm_timer_int_enable() argument
402 writel_relaxed(value, timer->irq_ena); in __omap_dm_timer_int_enable()
403 __omap_dm_timer_write(timer, OMAP_TIMER_WAKEUP_EN_REG, value, 0); in __omap_dm_timer_int_enable()
407 __omap_dm_timer_read_counter(struct omap_dm_timer *timer, int posted) in __omap_dm_timer_read_counter() argument
409 return __omap_dm_timer_read(timer, OMAP_TIMER_COUNTER_REG, posted); in __omap_dm_timer_read_counter()
412 static inline void __omap_dm_timer_write_status(struct omap_dm_timer *timer, in __omap_dm_timer_write_status() argument
415 writel_relaxed(value, timer->irq_stat); in __omap_dm_timer_write_status()