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