1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2005 Jens Arnold
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
27 /* Portalplayer chips use a microsecond timer. */
28 #define TIMER_FREQ 1000000
29 #elif defined(CPU_COLDFIRE)
30 /* timer is based on busclk == cpuclk/2 */
31 #define TIMER_FREQ (CPU_FREQ/2)
32 #elif CONFIG_CPU == PNX0101
33 #define TIMER_FREQ 3000000
34 #elif CONFIG_CPU == S3C2440 || CONFIG_CPU == DM320 || CONFIG_CPU == TCC7801
35 #include "timer-target.h"
36 #elif defined(SIMULATOR)
37 #define TIMER_FREQ 1000000
39 #define TIMER_FREQ CPU_FREQ
41 bool timer_register(int reg_prio
, void (*unregister_callback
)(void),
42 long cycles
, int int_prio
, void (*timer_callback
)(void));
43 bool timer_set_period(long cycles
);
45 void timers_adjust_prescale(int multiplier
, bool enable_irq
);
47 void timer_unregister(void);
49 /* For target-specific interface use */
50 extern void (*pfn_timer
)(void);
51 extern void (*pfn_unregister
)(void);
53 #endif /* __TIMER_H__ */