diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h index a5870f8cf2..84566624f3 100644 --- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h +++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h @@ -117,7 +117,7 @@ #define ENDPOINT_DETAILS_EP3 512, 2 #define ENDPOINT_DETAILS_EP4 512, 2 #define ENDPOINT_DETAILS_EP5 512, 2 - #define ENDPOINT_DETAILS_EP6 512, 2 + #define ENDPOINT_DETAILS_EP6 512, 2 #define ENDPOINT_DETAILS_EP7 512, 2 #elif defined(USB_SERIES_UC3B0_AVR32) || defined(USB_SERIES_UC3B1_AVR32) #define ENDPOINT_DETAILS_MAXEP 7 @@ -190,6 +190,17 @@ * accesses the second bank. */ #define ENDPOINT_BANK_DOUBLE AVR32_USBB_UECFG0_EPBK_DOUBLE + + #if defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32) || defined(__DOXYGEN__) + /** Mask for the bank mode selection for the \ref Endpoint_ConfigureEndpoint() macro. This indicates + * that the endpoint should have three banks, which requires more USB FIFO memory but results + * in faster transfers as one USB device (the AVR or the host) can access one bank while the other + * accesses the remaining banks. + * + * \note Not available on all AVR models. + */ + #define ENDPOINT_BANK_TRIPLE AVR32_USBB_UECFG0_EPBK_TRIPLE + #endif //@} #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__)) diff --git a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h index ae8f0363c3..25a4586d8e 100644 --- a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h +++ b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h @@ -161,6 +161,17 @@ * bank. */ #define PIPE_BANK_DOUBLE AVR32_USBB_UPCFG0_PBK_DOUBLE + + #if defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32) || defined(__DOXYGEN__) + /** Mask for the bank mode selection for the \ref Pipe_ConfigurePipe() macro. This indicates that the + * pipe should have three banks, which requires more USB FIFO memory but results in faster transfers + * as one USB device (the AVR or the attached device) can access one bank while the other accesses the + * remaining banks. + * + * \note Not available on all AVR models. + */ + #define PIPE_BANK_TRIPLE AVR32_USBB_UPCFG0_PBK_TRIPLE + #endif //@} /** Default size of the default control pipe's bank, until altered by the Endpoint0Size value diff --git a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h index 0bad549ca3..c2f85b8af7 100644 --- a/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h +++ b/LUFA/Drivers/USB/Core/UC3/USBController_UC3.h @@ -298,7 +298,7 @@ /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ - #if (defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32)) + #if defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32) #define USB_CLOCK_REQUIRED_FREQ 12000000UL #else #define USB_CLOCK_REQUIRED_FREQ 48000000UL