|
|
|
@ -50,6 +50,7 @@ |
|
|
|
|
|
|
|
|
|
/* Includes: */ |
|
|
|
|
#include "../../../../Common/Common.h" |
|
|
|
|
#include "../USBController.h" |
|
|
|
|
#include "../StdDescriptors.h" |
|
|
|
|
#include "../USBInterrupt.h" |
|
|
|
|
#include "../Endpoint.h" |
|
|
|
@ -80,6 +81,13 @@ |
|
|
|
|
* USB interface should be initialized in full speed (12Mb/s) mode. |
|
|
|
|
*/ |
|
|
|
|
#define USB_DEVICE_OPT_FULLSPEED (0 << 0) |
|
|
|
|
|
|
|
|
|
#if defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32) || defined(__DOXYGEN__) |
|
|
|
|
/** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
|
|
|
|
|
* USB interface should be initialized in high speed (480Mb/s) mode. |
|
|
|
|
*/ |
|
|
|
|
#define USB_DEVICE_OPT_HIGHSPEED (1 << 1) |
|
|
|
|
#endif |
|
|
|
|
//@}
|
|
|
|
|
|
|
|
|
|
#if (!defined(NO_INTERNAL_SERIAL) && \ |
|
|
|
@ -182,7 +190,19 @@ |
|
|
|
|
static inline void USB_Device_SetFullSpeed(void) |
|
|
|
|
{ |
|
|
|
|
AVR32_USBB.UDCON.ls = false; |
|
|
|
|
#if defined(USB_DEVICE_OPT_HIGHSPEED) |
|
|
|
|
AVR32_USBB.UDCON.spdconf = 3; |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#if defined(USB_DEVICE_OPT_HIGHSPEED) |
|
|
|
|
static inline void USB_Device_SetHighSpeed(void) ATTR_ALWAYS_INLINE; |
|
|
|
|
static inline void USB_Device_SetHighSpeed(void) |
|
|
|
|
{ |
|
|
|
|
AVR32_USBB.UDCON.ls = false; |
|
|
|
|
AVR32_USBB.UDCON.spdconf = 0; |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE; |
|
|
|
|
static inline void USB_Device_SetDeviceAddress(const uint8_t Address) |
|
|
|
|