diff options
author | Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 2007-12-09 07:22:04 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-12-14 12:34:29 -0500 |
commit | 18ca38d26f65c849af109eb911295c7dde71ce3b (patch) | |
tree | 7d743a2827c8facd4b69e55f4add2443fc0534a5 /arch/mips/cobalt/time.c | |
parent | da8cadb31b82c9d41fc593c8deab6aa20b162d6b (diff) |
[MIPS] time: Set up Cobalt's mips_hpt_frequency
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/cobalt/time.c')
-rw-r--r-- | arch/mips/cobalt/time.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/mips/cobalt/time.c b/arch/mips/cobalt/time.c index fa819fccd5db..4a570e7145fe 100644 --- a/arch/mips/cobalt/time.c +++ b/arch/mips/cobalt/time.c | |||
@@ -27,9 +27,28 @@ | |||
27 | 27 | ||
28 | void __init plat_time_init(void) | 28 | void __init plat_time_init(void) |
29 | { | 29 | { |
30 | u32 start, end; | ||
31 | int i = HZ / 10; | ||
32 | |||
30 | setup_pit_timer(); | 33 | setup_pit_timer(); |
31 | 34 | ||
32 | gt641xx_set_base_clock(GT641XX_BASE_CLOCK); | 35 | gt641xx_set_base_clock(GT641XX_BASE_CLOCK); |
33 | 36 | ||
34 | mips_timer_state = gt641xx_timer0_state; | 37 | /* |
38 | * MIPS counter frequency is measured during a 100msec interval | ||
39 | * using GT64111 timer0. | ||
40 | */ | ||
41 | while (!gt641xx_timer0_state()) | ||
42 | ; | ||
43 | |||
44 | start = read_c0_count(); | ||
45 | |||
46 | while (i--) | ||
47 | while (!gt641xx_timer0_state()) | ||
48 | ; | ||
49 | |||
50 | end = read_c0_count(); | ||
51 | |||
52 | mips_hpt_frequency = (end - start) * 10; | ||
53 | printk(KERN_INFO "MIPS counter frequency %dHz\n", mips_hpt_frequency); | ||
35 | } | 54 | } |