More AVR32 achitecture ports.
[pub/USBasp.git] / LUFA / Drivers / USB / HighLevel / USBInterrupt.c
index 45e0051..f009a0a 100644 (file)
@@ -1,13 +1,13 @@
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
 \r
   Permission to use, copy, modify, distribute, and sell this \r
   software and its documentation for any purpose is hereby granted\r
@@ -28,6 +28,7 @@
   this software.\r
 */\r
 \r
+#define  __INCLUDE_FROM_USB_DRIVER\r
 #include "USBInterrupt.h"\r
 \r
 void USB_INT_DisableAllInterrupts(void)\r
@@ -50,17 +51,24 @@ void USB_INT_DisableAllInterrupts(void)
 \r
 void USB_INT_ClearAllInterrupts(void)\r
 {\r
-       #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)\r
-       USBINT  = 0;\r
-       #endif\r
-       \r
-       #if defined(USB_CAN_BE_HOST)\r
-       UHINT   = 0;\r
-       OTGINT  = 0;\r
-       #endif\r
-       \r
-       #if defined(USB_CAN_BE_DEVICE)\r
-       UDINT   = 0;\r
+       #if defined(__AVR32__)\r
+               AVR32_USBB.USBSTACLR = 0xFFFFFF;\r
+               AVR32_USBB.UHINTCLR = 0xFFFFFF;\r
+               AVR32_USBB.UECONX = \r
+               AVR32_USBB.UDINTCLR = 0xFFFFFF;         \r
+       #elif defined(__AVR__)\r
+               #if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)\r
+               USBINT  = 0;\r
+               #endif\r
+               \r
+               #if defined(USB_CAN_BE_HOST)\r
+               UHINT   = 0;\r
+               OTGINT  = 0;\r
+               #endif\r
+               \r
+               #if defined(USB_CAN_BE_DEVICE)\r
+               UDINT   = 0;\r
+               #endif\r
        #endif\r
 }\r
 \r