xref: /freebsd-12.1/sys/mips/include/clock.h (revision bb487d2b)
1 /*
2  * Garrett Wollman, September 1994.
3  * This file is in the public domain.
4  * Kernel interface to machine-dependent clock driver.
5  *
6  *	JNPR: clock.h,v 1.6.2.1 2007/08/29 09:36:05 girish
7  *	from: src/sys/alpha/include/clock.h,v 1.5 1999/12/29 04:27:55 peter
8  * $FreeBSD$
9  */
10 
11 #ifndef _MACHINE_CLOCK_H_
12 #define	_MACHINE_CLOCK_H_
13 
14 #include <sys/bus.h>
15 
16 #ifdef _KERNEL
17 
18 extern int cpu_clock;
19 
20 extern uint32_t clockintr(uint32_t, struct trapframe *);
21 
22 #define wall_cmos_clock 0
23 #define adjkerntz 0
24 
25 /*
26  * Default is to assume a CPU pipeline clock of 100Mhz, and
27  * that CP0_COUNT increments every 2 cycles.
28  */
29 #define MIPS_DEFAULT_HZ		(100 * 1000 * 1000)
30 
31 void	mips_timer_early_init(uint64_t clock_hz);
32 void	mips_timer_init_params(uint64_t, int);
33 
34 extern uint64_t	counter_freq;
35 extern int	clocks_running;
36 
37 /*
38  * The 'platform_timecounter' pointer may be used to register a
39  * platform-specific timecounter.
40  *
41  * A default timecounter based on the CP0 COUNT register is always registered.
42  */
43 extern struct timecounter *platform_timecounter;
44 
45 #endif
46 
47 #endif /* !_MACHINE_CLOCK_H_ */
48