Commit | Line | Data |
---|---|---|
a240a469 MZ |
1 | /* |
2 | * time.c: MIPS CPU Count/Compare timer hookup | |
3 | * | |
4 | * Author: Mark.Zhan, <rongkai.zhan@windriver.com> | |
5 | * | |
6 | * This file is subject to the terms and conditions of the GNU General Public | |
7 | * License. See the file "COPYING" in the main directory of this archive | |
8 | * for more details. | |
9 | * | |
10 | * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) | |
11 | * Copyright (C) 2006, Wind River System Inc. | |
12 | */ | |
a240a469 | 13 | #include <linux/init.h> |
a240a469 | 14 | #include <linux/interrupt.h> |
4b92fe23 | 15 | #include <linux/irq.h> |
a240a469 | 16 | |
a240a469 | 17 | #include <asm/gt64120.h> |
4b92fe23 | 18 | #include <asm/time.h> |
a240a469 MZ |
19 | |
20 | #define WRPPMC_CPU_CLK_FREQ 40000000 /* 40MHZ */ | |
21 | ||
a240a469 MZ |
22 | /* |
23 | * Estimate CPU frequency. Sets mips_hpt_frequency as a side-effect | |
24 | * | |
25 | * NOTE: We disable all GT64120 timers, and use MIPS processor internal | |
26 | * timer as the source of kernel clock tick. | |
27 | */ | |
4b550488 | 28 | void __init plat_time_init(void) |
a240a469 MZ |
29 | { |
30 | /* Disable GT64120 timers */ | |
31 | GT_WRITE(GT_TC_CONTROL_OFS, 0x00); | |
32 | GT_WRITE(GT_TC0_OFS, 0x00); | |
33 | GT_WRITE(GT_TC1_OFS, 0x00); | |
34 | GT_WRITE(GT_TC2_OFS, 0x00); | |
35 | GT_WRITE(GT_TC3_OFS, 0x00); | |
36 | ||
37 | /* Use MIPS compare/count internal timer */ | |
38 | mips_hpt_frequency = WRPPMC_CPU_CLK_FREQ; | |
39 | } |