Add missing UC3 architecture F_USB configuration checks.
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 24 Jul 2012 05:03:11 +0000 (05:03 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 24 Jul 2012 05:03:11 +0000 (05:03 +0000)
LUFA/Drivers/USB/Core/UC3/USBController_UC3.h
LUFA/Drivers/USB/Core/USBMode.h

index 4a5d267..006e089 100644 (file)
                        #error F_USB is not defined. You must define F_USB to the frequency of the clock input to the USB module.
                #endif
 
+               #if (defined(USB_SERIES_UC3A3_AVR) || defined(USB_SERIES_UC3A4_AVR))
+                       #if ((F_USB < 12000000) || (F_USB % 12000000))
+                               #error Invalid F_USB specified. F_USB must be a multiple of 12MHz for UC3A3 and UC3A4 devices.
+                       #endif          
+               #else
+                       #if ((F_USB < 48000000) || (F_USB % 48000000))
+                               #error Invalid F_USB specified. F_USB must be a multiple of 48MHz for UC3A and UC3B devices.
+                       #endif          
+               #endif
+               
        /* Public Interface - May be used in end-application: */
                /* Macros: */
                        /** \name USB Controller Option Masks */
index f62c8c1..7ae30bb 100644 (file)
                 */
                #define USB_SERIES_UC3A3_AVR
 
+               /** Indicates that the target AVR microcontroller belongs to the AVR32 UC3A4 Series USB controller
+                *  (i.e. AT32UC3A4*) when defined.
+                */
+               #define USB_SERIES_UC3A4_AVR
+               
                /** Indicates that the target AVR microcontroller belongs to the AVR32 UC3B0 Series USB controller
                 *  (i.e. AT32UC3B0*) when defined.
                 */