[uClinux-dev] mach-atmel (Atmel AT91) interrupt controller

Erwin Authried eauth at softsys.co.at
Fri Oct 14 04:34:46 EDT 2005


Am Fre, den 14.10.2005 schrieb Shaun Jackman um 0:54:

> 
> Finally, I noticed that atmel_timer_inerrupt never reads the
> timer/counter status register, TC_SR, which I understood was necessary
> to clear the "RC Compare Status" bit, TC_CPCS, which generates the
> timer interrupt.
you are right, that seems to be missing!

I think you'll need something like this in atmel_timer_interrupt:

        volatile struct at91_timers* tt = (struct at91_timers*)
(AT91_TC_BASE);
        volatile struct at91_timer_channel* tc =
&tt->chans[KERNEL_TIMER].ch;
        unsigned long v = tc->sr;

Regards,
Erwin





More information about the uClinux-dev mailing list