diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
index a5870f8cf2efa6415843024d5351f1f95f83d7cb..84566624f385c8fad2b9880aedaf3488a1e3477c 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 ae8f0363c34185354370acf4b4f00053c383925a..25a4586d8e6f00dd0cb5547cbb0526aa4b91ef16 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 0bad549ca380af4a670080161f4d5e0833f74c80..c2f85b8af7d4b98861ddeab5f931ca5b15753f41 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