• Home
  • Raw
  • Download

Lines Matching +full:ave +full:- +full:ctrl

2  * OMAP Dual-Mode Timers
4 * Copyright (C) 2010 Texas Instruments Incorporated - https://www.ti.com/
30 * 675 Mass Ave, Cambridge, MA 02139, USA.
140 * These registers are offsets from timer->iobase.
156 * These registers are offsets from timer->func_base. The func_base
175 #define OMAP_TIMER_CTRL_AR (1 << 1) /* auto-reload enable */
259 while (readl_relaxed(timer->pend) & (reg >> WPSHIFT)) in __omap_dm_timer_read()
262 return readl_relaxed(timer->func_base + (reg & 0xff)); in __omap_dm_timer_read()
269 while (readl_relaxed(timer->pend) & (reg >> WPSHIFT)) in __omap_dm_timer_write()
272 writel_relaxed(val, timer->func_base + (reg & 0xff)); in __omap_dm_timer_write()
280 tidr = readl_relaxed(timer->io_base); in __omap_dm_timer_init_regs()
282 timer->revision = 1; in __omap_dm_timer_init_regs()
283 timer->irq_stat = timer->io_base + OMAP_TIMER_V1_STAT_OFFSET; in __omap_dm_timer_init_regs()
284 timer->irq_ena = timer->io_base + OMAP_TIMER_V1_INT_EN_OFFSET; in __omap_dm_timer_init_regs()
285 timer->irq_dis = timer->io_base + OMAP_TIMER_V1_INT_EN_OFFSET; in __omap_dm_timer_init_regs()
286 timer->pend = timer->io_base + _OMAP_TIMER_WRITE_PEND_OFFSET; in __omap_dm_timer_init_regs()
287 timer->func_base = timer->io_base; in __omap_dm_timer_init_regs()
289 timer->revision = 2; in __omap_dm_timer_init_regs()
290 timer->irq_stat = timer->io_base + OMAP_TIMER_V2_IRQSTATUS; in __omap_dm_timer_init_regs()
291 timer->irq_ena = timer->io_base + OMAP_TIMER_V2_IRQENABLE_SET; in __omap_dm_timer_init_regs()
292 timer->irq_dis = timer->io_base + OMAP_TIMER_V2_IRQENABLE_CLR; in __omap_dm_timer_init_regs()
293 timer->pend = timer->io_base + in __omap_dm_timer_init_regs()
296 timer->func_base = timer->io_base + OMAP_TIMER_V2_FUNC_OFFSET; in __omap_dm_timer_init_regs()
301 * __omap_dm_timer_enable_posted - enables write posted mode
312 if (timer->posted) in __omap_dm_timer_enable_posted()
315 if (timer->errata & OMAP_TIMER_ERRATA_I103_I767) { in __omap_dm_timer_enable_posted()
316 timer->posted = OMAP_TIMER_NONPOSTED; in __omap_dm_timer_enable_posted()
323 timer->context.tsicr = OMAP_TIMER_CTRL_POSTED; in __omap_dm_timer_enable_posted()
324 timer->posted = OMAP_TIMER_POSTED; in __omap_dm_timer_enable_posted()
328 * __omap_dm_timer_override_errata - override errata flags for a timer
340 timer->errata &= ~errata; in __omap_dm_timer_override_errata()
364 writel_relaxed(OMAP_TIMER_INT_OVERFLOW, timer->irq_stat); in __omap_dm_timer_stop()
368 u32 ctrl, unsigned int load, in __omap_dm_timer_load_start() argument
372 __omap_dm_timer_write(timer, OMAP_TIMER_CTRL_REG, ctrl, posted); in __omap_dm_timer_load_start()
378 writel_relaxed(value, timer->irq_ena); in __omap_dm_timer_int_enable()
391 writel_relaxed(value, timer->irq_stat); in __omap_dm_timer_write_status()