Remove unneeded instruction in AVR timer.
[bertos.git] / bertos / cpu / detect.h
index d7ec6aad047720508b23ca0d0f6e97fa99d55e36..739d3f6169cf0b35aaedc7f1de6942dd4bcd6b3d 100644 (file)
        #define CPU_CORE_NAME           "AVR"
 
        #if defined(__AVR_ATmega32__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA32    1
                #define CPU_NAME            "ATmega32"
        #else
        #endif
 
        #if defined(__AVR_ATmega64__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA64    1
                #define CPU_NAME            "ATmega64"
        #else
        #endif
 
        #if defined(__AVR_ATmega103__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA103   1
                #define CPU_NAME            "ATmega103"
        #else
        #endif
 
        #if defined(__AVR_ATmega128__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA128   1
                #define CPU_NAME            "ATmega128"
        #else
        #endif
 
        #if defined(__AVR_ATmega8__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA8     1
                #define CPU_NAME            "ATmega8"
        #else
        #endif
 
        #if defined(__AVR_ATmega168__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA168   1
                #define CPU_NAME            "ATmega168"
        #else
        #endif
 
        #if defined(__AVR_ATmega328P__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA328P   1
                #define CPU_NAME            "ATmega328P"
        #else
        #endif
 
        #if defined(__AVR_ATmega1281__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA1281  1
                #define CPU_NAME            "ATmega1281"
        #else
        #endif
 
        #if defined(__AVR_ATmega1280__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA1280  1
                #define CPU_NAME            "ATmega1280"
        #else
        #endif
 
        #if defined(__AVR_ATmega2560__)
+               #define CPU_AVR_MEGA            1
                #define CPU_AVR_ATMEGA2560  1
                #define CPU_NAME            "ATmega2560"
        #else
                #define CPU_AVR_ATMEGA2560  0
        #endif
 
+       #if defined(__AVR_ATxmega32D4__)
+               #define CPU_AVR_XMEGA           1
+               #define CPU_AVR_XMEGA_D         1
+               #define CPU_AVR_ATXMEGA32D4     1
+               #define CPU_NAME                        "ATxmega32d4"
+       #else
+               #define CPU_AVR_ATXMEGA32D4     0
+       #endif
+
        #if CPU_AVR_ATMEGA32 + CPU_AVR_ATMEGA64 + CPU_AVR_ATMEGA103 + CPU_AVR_ATMEGA128 \
          + CPU_AVR_ATMEGA8 + CPU_AVR_ATMEGA168 + CPU_AVR_ATMEGA328P + CPU_AVR_ATMEGA1281 \
-         + CPU_AVR_ATMEGA1280 + CPU_AVR_ATMEGA2560 != 1
+         + CPU_AVR_ATMEGA1280 + CPU_AVR_ATMEGA2560 + CPU_AVR_ATXMEGA32D4 != 1
                #error AVR CPU configuration error
        #endif
+
+       #if defined(CPU_AVR_XMEGA) && defined(CPU_AVR_MEGA)
+               #error CPU cannot be MEGA and XMEGA
+       #elif defined(CPU_AVR_MEGA)
+               #define CPU_AVR_XMEGA           0
+       #elif defined(CPU_AVR_XMEGA)
+               #define CPU_AVR_MEGA            0
+       #endif
+
+       #if CPU_AVR_MEGA + CPU_AVR_XMEGA != 1
+               #error AVR CPU configuration error
+       #endif
+
 #else
        #define CPU_AVR                 0
+       #define CPU_AVR_MEGA                    0
        #define CPU_AVR_ATMEGA8         0
        #define CPU_AVR_ATMEGA168       0
        #define CPU_AVR_ATMEGA328P      0
        #define CPU_AVR_ATMEGA1281      0
        #define CPU_AVR_ATMEGA1280      0
        #define CPU_AVR_ATMEGA2560      0
+       #define CPU_AVR_XMEGA                   0
+       #define CPU_AVR_XMEGA_D                 0
 #endif
 
 #if defined (__MSP430__)