sam3n: update clock and kdebug modules to use lastest register definion convention
[bertos.git] / bertos / cpu / avr / drv / timer_avr.c
index ab8329a69e34f2cd559781f1b0861acce45af6f0..5decb0483b74afe578a5af86dff782dcf740b1a9 100644 (file)
 
 #include <avr/io.h>
 
-#if CPU_AVR_ATMEGA1281 || CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P
+#if CPU_AVR_ATMEGA1281 || CPU_AVR_ATMEGA1280 || CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P
        #define REG_TIFR0 TIFR0
        #define REG_TIFR1 TIFR1
        #define REG_TIFR2 TIFR2
-       #if CPU_AVR_ATMEGA1281
+       #if CPU_AVR_ATMEGA1281 || CPU_AVR_ATMEGA1280
                #define REG_TIFR3 TIFR3
        #endif
 
        #define REG_TIMSK0 TIMSK0
        #define REG_TIMSK1 TIMSK1
        #define REG_TIMSK2 TIMSK2
-       #if CPU_AVR_ATMEGA1281
+       #if CPU_AVR_ATMEGA1281 || CPU_AVR_ATMEGA1280
                #define REG_TIMSK3 TIMSK3
        #endif
 
@@ -82,6 +82,7 @@
        #define REG_TIFR0 TIFR
        #define REG_TIFR1 TIFR
        #define REG_TIFR2 TIFR
+       #define REG_TIFR3 TIFR
 
        #define REG_TIMSK0 TIMSK
        #define REG_TIMSK1 TIMSK
 
 #elif (CONFIG_TIMER == TIMER_ON_OVERFLOW3)
 
+       #if CPU_AVR_ATMEGA168 || CPU_AVR_ATMEGA328P || CPU_AVR_ATMEGA32
+               #error For select target there is not TIMER_ON_OVERFLOW3, please select an other one.
+       #endif
+
        void timer_hw_init(void)
        {
                cpu_flags_t flags;
                TCNT3 = 0x00;
 
                /* Enable timer interrupt: Timer/Counter3 Overflow */
-               REG_TIMSK3 |= BV(TOIE3);
+               REG_TIMSK3 |= BV(TOIE3);
 
                IRQ_RESTORE(flags);
        }