diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-07-14 05:38:32 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2011-07-14 05:38:32 +0000 |
| commit | eb130e2ba11e1f610e27d83121e4a6fa75c6907c (patch) | |
| tree | 812874ba8c38e7d2619608095f75587ccfbfeae7 | |
| parent | 5923f7789a174488baababc9340bfe570a12d3aa (diff) | |
Add support for triple endpoint/pipe bank AVR32 UC3 devices.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1876 d5102386-fcda-11dd-9fdb-3debd5008f28
| -rw-r--r-- | LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h | 13 | ||||
| -rw-r--r-- | LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h | 11 | ||||
| -rw-r--r-- | LUFA/Drivers/USB/Core/UC3/USBController_UC3.h | 2 |
3 files changed, 24 insertions, 2 deletions
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h index a5870f8c..84566624 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 ae8f0363..25a4586d 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 0bad549c..c2f85b8a 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
|
