]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/mips/cobalt/time.c
[MIPS] time: Set up Cobalt's mips_hpt_frequency
[mv-sheeva.git] / arch / mips / cobalt / time.c
index fa819fccd5dbd30ec497afb896c55eac9fb83bad..4a570e7145fe65fc0d551f60600feb916541bc3c 100644 (file)
 
 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 during a 100msec interval
+        * 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);
 }