linux-mips
[Top] [All Lists]

[PATCH][MIPS] set up Cobalt's mips_hpt_frequency

To: Ralf Baechle <ralf@linux-mips.org>
Subject: [PATCH][MIPS] set up Cobalt's mips_hpt_frequency
From: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Date: Sun, 9 Dec 2007 21:22:04 +0900
Cc: yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Organization: TriPeaks Corporation
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Set up Cobalt's mips_hpt_frequency.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/cobalt/time.c 
mips/arch/mips/cobalt/time.c
--- mips-orig/arch/mips/cobalt/time.c   2007-12-06 18:27:02.689043750 +0900
+++ mips/arch/mips/cobalt/time.c        2007-12-09 17:13:37.916769000 +0900
@@ -27,9 +27,28 @@
 
 void __init plat_time_init(void)
 {
+       u32 start, end;
+       int i = HZ / 10;
+
        setup_pit_timer();
 
        gt641xx_set_base_clock(GT641XX_BASE_CLOCK);
 
-       mips_timer_state = gt641xx_timer0_state;
+       /*
+        * MIPS counter frequency is measured between 100msec 
+        * using GT64111 timer0.
+        */
+       while (!gt641xx_timer0_state())
+               ;
+
+       start = read_c0_count();
+
+       while (i--)
+               while (!gt641xx_timer0_state())
+                       ;
+
+       end = read_c0_count();
+
+       mips_hpt_frequency = (end - start) * 10;
+       printk(KERN_INFO "MIPS counter frequency %dHz\n", mips_hpt_frequency);
 }

<Prev in Thread] Current Thread [Next in Thread>