From ea361a0d302e19faf587d31a891d0eecedd765d6 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 14 Mar 2011 00:03:30 +0000 Subject: Correct Endpoint/Pipe maximum constants for the AVR32 UC3 models. --- LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h | 40 +++++++++++++++++++++++++------- LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h | 12 ++++++---- 2 files changed, 39 insertions(+), 13 deletions(-) (limited to 'LUFA/Drivers/USB/Core') diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h index 38f68834e..4a2cd6752 100644 --- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h +++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h @@ -98,15 +98,37 @@ #define _ENDPOINT_GET_BANKS2(EPDetails) _ENDPOINT_GET_BANKS3(EPDetails) #define _ENDPOINT_GET_BANKS3(MaxSize, Banks) (Banks) - #define ENDPOINT_DETAILS_MAXEP 7 - - #define ENDPOINT_DETAILS_EP0 64, 1 - #define ENDPOINT_DETAILS_EP1 64, 2 - #define ENDPOINT_DETAILS_EP2 64, 2 - #define ENDPOINT_DETAILS_EP3 64, 2 - #define ENDPOINT_DETAILS_EP4 64, 2 - #define ENDPOINT_DETAILS_EP5 256, 2 - #define ENDPOINT_DETAILS_EP6 256, 2 + #if defined(USB_SERIES_UC3A0_AVR) || defined(USB_SERIES_UC3A1_AVR) + #define ENDPOINT_DETAILS_MAXEP 7 + + #define ENDPOINT_DETAILS_EP0 64, 1 + #define ENDPOINT_DETAILS_EP1 256, 2 + #define ENDPOINT_DETAILS_EP2 256, 2 + #define ENDPOINT_DETAILS_EP3 64, 2 + #define ENDPOINT_DETAILS_EP4 64, 2 + #define ENDPOINT_DETAILS_EP5 256, 2 + #define ENDPOINT_DETAILS_EP6 256, 2 + #elif defined(USB_SERIES_UC3A3_AVR) || defined(USB_SERIES_UC3A4_AVR) + #define ENDPOINT_DETAILS_MAXEP 8 + + #define ENDPOINT_DETAILS_EP0 64, 1 + #define ENDPOINT_DETAILS_EP1 512, 2 + #define ENDPOINT_DETAILS_EP2 512, 2 + #define ENDPOINT_DETAILS_EP3 512, 2 + #define ENDPOINT_DETAILS_EP4 512, 2 + #define ENDPOINT_DETAILS_EP5 512, 2 + #define ENDPOINT_DETAILS_EP6 512, 2 + #elif defined(USB_SERIES_UC3B0_AVR) || defined(USB_SERIES_UC3B1_AVR) + #define ENDPOINT_DETAILS_MAXEP 7 + + #define ENDPOINT_DETAILS_EP0 64, 1 + #define ENDPOINT_DETAILS_EP1 64, 2 + #define ENDPOINT_DETAILS_EP2 64, 2 + #define ENDPOINT_DETAILS_EP3 64, 2 + #define ENDPOINT_DETAILS_EP4 64, 2 + #define ENDPOINT_DETAILS_EP5 256, 2 + #define ENDPOINT_DETAILS_EP6 256, 2 + #endif /* Inline Functions: */ static inline uint32_t Endpoint_BytesToEPSizeMask(const uint16_t Bytes) ATTR_WARN_UNUSED_RESULT ATTR_CONST diff --git a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h index 204169f00..10d443451 100644 --- a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h +++ b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.h @@ -172,10 +172,14 @@ */ #define PIPE_CONTROLPIPE_DEFAULT_SIZE 64 - /** Total number of pipes (including the default control pipe at address 0) which may be used in - * the device. - */ - #define PIPE_TOTAL_PIPES 7 + #if defined(USB_SERIES_UC3A3_AVR) || defined(USB_SERIES_UC3A4_AVR) || defined(__DOXYGEN__) + /** Total number of pipes (including the default control pipe at address 0) which may be used in + * the device. + */ + #define PIPE_TOTAL_PIPES 8 + #else + #define PIPE_TOTAL_PIPES 7 + #endif /** Size in bytes of the largest pipe bank size possible in the device. Not all banks on each AVR * model supports the largest bank size possible on the device; different pipe numbers support -- cgit v1.2.3