Subject: IT8172G on-board timers

From: Dmitry Antipov <[email-masked]>
Date: Tue, 05 Aug 2003 17:38:40 +0400

Hello all,

 I'm working with IT8172-based MIPS board and want to use one of (or may 
be both) on-board timers.
For my purposes, it's required to generate irq from timer rarely, for 
example, each 1 sec, or each 5 sec
or so. (The usage of Linux timer interface (init_timer() etc...) is 
forbidden, and I don't want to touch
system timer to avoid the potential damage for basic timekeeping, 
scheduling, etc.). I have two problems:
- timer backward counter is 16-bit wide and reaches zero too fast, even 
starting from 0xffff;
- timer input clock may be one of CPU clock, CPU clock /4, CPU clock/8 
or CPU  clock /16, which looks
   very fast too
So, the minimum interrupt frequency from both timers is 96 ints/HZ (with 
TCR0.PST0 is 0 and
TCVR0 is 0xffff) and the maximum is around 150000 ints/HZ. Even the 
minimum is too large for me...

It seems this question is much more about h/w than about Linux, but I 
hope someone has an experience
with this arch :-) Is it possible to program on-board timer to generate 
interrupts with less frequency ?

Thanks,
Dmitry

---

From: Jun Sun <[email-masked]>
Date: Wed, 6 Aug 2003 09:59:46 -0700

On Tue, Aug 05, 2003 at 05:38:40PM +0400, Dmitry Antipov wrote:
> forbidden

Using linux timer seems perfect for the need.  Why not?  For an example
of using timer you can take a look of my real time test suite

http://linux.junsun.net/preemp-test/

> , and I don't want to touch

You can write a driver that "accumlates" the interrupts until a desired
duration is reached before it actually does anything useful.

Jun