Fix incorrect bank mask in Endpoint_ConfigureEndpoint() for the UC3 devices.

pull/1469/head
Dean Camera 13 years ago
parent 85579e12e4
commit 0d888458e1

@ -65,7 +65,7 @@ bool Endpoint_ConfigureEndpointTable(const USB_Endpoint_Table_t* const Table,
bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number, bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
const uint32_t UECFG0Data) const uint32_t UECFG0Data)
{ {
USB_Endpoint_FIFOPos[Number] = &AVR32_USBB_SLAVE[Number * 0x10000]; USB_Endpoint_FIFOPos[Number] = &AVR32_USBB_SLAVE[Number * ENDPOINT_HSB_ADDRESS_SPACE_SIZE];
#if defined(CONTROL_ONLY_DEVICE) || defined(ORDERED_EP_CONFIG) #if defined(CONTROL_ONLY_DEVICE) || defined(ORDERED_EP_CONFIG)
Endpoint_SelectEndpoint(Number); Endpoint_SelectEndpoint(Number);

@ -210,9 +210,9 @@
{ {
return Endpoint_ConfigureEndpoint_Prv((Address & ENDPOINT_EPNUM_MASK), return Endpoint_ConfigureEndpoint_Prv((Address & ENDPOINT_EPNUM_MASK),
(AVR32_USBB_ALLOC_MASK | (AVR32_USBB_ALLOC_MASK |
((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) | ((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) |
((uint32_t)(Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) | ((Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
((uint32_t)Banks << AVR32_USBB_EPBK_OFFSET) | ((Banks > 1) ? AVR32_USBB_UECFG0_EPBK_SINGLE : AVR32_USBB_UECFG0_EPBK_DOUBLE) |
Endpoint_BytesToEPSizeMask(Size))); Endpoint_BytesToEPSizeMask(Size)));
} }

@ -72,7 +72,7 @@ bool Pipe_ConfigurePipe(const uint8_t Address,
if (Type == EP_TYPE_CONTROL) if (Type == EP_TYPE_CONTROL)
Token = PIPE_TOKEN_SETUP; Token = PIPE_TOKEN_SETUP;
USB_Pipe_FIFOPos[Number] = &AVR32_USBB_SLAVE[Number * 0x10000]; USB_Pipe_FIFOPos[Number] = &AVR32_USBB_SLAVE[Number * PIPE_HSB_ADDRESS_SPACE_SIZE];
#if defined(ORDERED_EP_CONFIG) #if defined(ORDERED_EP_CONFIG)
Pipe_SelectPipe(Number); Pipe_SelectPipe(Number);

Loading…
Cancel
Save