Add short explanation on how to build rbutilqt.
[Rockbox.git] / firmware / export / timer.h
blob920419d1f933150c388b5b20220d5cd8130fd6f4
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
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 ****************************************************************************/
20 #ifndef __TIMER_H__
21 #define __TIMER_H__
23 #include <stdbool.h>
24 #include "config.h"
26 #if defined(CPU_PP)
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
35 #include "timer-target.h"
36 #elif defined(SIMULATOR)
37 #define TIMER_FREQ 1000000
38 #else
39 #define TIMER_FREQ CPU_FREQ
40 #endif
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);
44 #ifdef CPU_COLDFIRE
45 void timers_adjust_prescale(int multiplier, bool enable_irq);
46 #endif
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__ */