linux-mips
[Top] [All Lists]

Re: IT8172G on-board timers

To: Dmitry Antipov <dmitry.antipov@mail.ru>
Subject: Re: IT8172G on-board timers
From: Jun Sun <jsun@mvista.com>
Date: Wed, 6 Aug 2003 09:59:46 -0700
Cc: linux-mips@linux-mips.org, jsun@mvista.com
In-reply-to: <3F2FB360.9040005@mail.ru>; from dmitry.antipov@mail.ru on Tue, Aug 05, 2003 at 05:38:40PM +0400
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <3F2FB360.9040005@mail.ru>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5i
On Tue, Aug 05, 2003 at 05:38:40PM +0400, Dmitry Antipov wrote:
> 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

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
> 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...
>

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

Jun

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