mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/*
|
|
* SP804 Primecell Timer offsets
|
|
*
|
|
* Copyright (C) 2007 Bahadir Balban
|
|
*
|
|
*/
|
|
#ifndef __SP804_TIMER_H__
|
|
#define __SP804_TIMER_H__
|
|
|
|
#include INC_PLAT(platform.h)
|
|
|
|
/* Run mode of timers */
|
|
#define SP804_TIMER_RUNMODE_FREERUN 0
|
|
#define SP804_TIMER_RUNMODE_PERIODIC 1
|
|
|
|
/* Wrap mode of timers */
|
|
#define SP804_TIMER_WRAPMODE_WRAPPING 0
|
|
#define SP804_TIMER_WRAPMODE_ONESHOT 1
|
|
|
|
/* Operational width of timer */
|
|
#define SP804_TIMER_WIDTH16BIT 0
|
|
#define SP804_TIMER_WIDTH32BIT 1
|
|
|
|
/* Enable/disable irq on timer */
|
|
#define SP804_TIMER_IRQDISABLE 0
|
|
#define SP804_TIMER_IRQENABLE 1
|
|
|
|
/* Register offsets */
|
|
#define SP804_TIMERLOAD 0x0
|
|
#define SP804_TIMERVALUE 0x4
|
|
#define SP804_TIMERCONTROL 0x8
|
|
#define SP804_TIMERINTCLR 0xC
|
|
#define SP804_TIMERRIS 0x10
|
|
#define SP804_TIMERMIS 0x14
|
|
#define SP804_TIMERBGLOAD 0x18
|
|
|
|
void sp804_init(unsigned int timer_base, int runmode, int wrapmode, \
|
|
int width, int irq_enable);
|
|
void sp804_irq_handler(unsigned int timer_base);
|
|
void sp804_enable(unsigned int timer_base, int enable);
|
|
void sp804_set_irq(unsigned int timer_base, int enable);
|
|
|
|
#endif /* __SP804_TIMER_H__ */
|