aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-06-02 19:34:10 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-06-02 19:34:10 +0000
commit0d888458e17a57473e2d41229302ab401a815545 (patch)
tree8220122bb6fe1444b85e92c193f34cd57695d8c0
parent85579e12e487c50fc813aec2894f29fa2c27d9d0 (diff)
downloadlufa-0d888458e17a57473e2d41229302ab401a815545.tar.gz
lufa-0d888458e17a57473e2d41229302ab401a815545.tar.bz2
lufa-0d888458e17a57473e2d41229302ab401a815545.zip
Fix incorrect bank mask in Endpoint_ConfigureEndpoint() for the UC3 devices.
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c2
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h6
-rw-r--r--LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
index c027585a6..f0f319db3 100644
--- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.c
@@ -65,7 +65,7 @@ bool Endpoint_ConfigureEndpointTable(const USB_Endpoint_Table_t* const Table,
bool Endpoint_ConfigureEndpoint_Prv(const uint8_t Number,
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)
Endpoint_SelectEndpoint(Number);
diff --git a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
index a1b2a16f2..3bd9c559c 100644
--- a/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
+++ b/LUFA/Drivers/USB/Core/UC3/Endpoint_UC3.h
@@ -210,9 +210,9 @@
{
return Endpoint_ConfigureEndpoint_Prv((Address & ENDPOINT_EPNUM_MASK),
(AVR32_USBB_ALLOC_MASK |
- ((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) |
- ((uint32_t)(Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
- ((uint32_t)Banks << AVR32_USBB_EPBK_OFFSET) |
+ ((uint32_t)Type << AVR32_USBB_EPTYPE_OFFSET) |
+ ((Address & ENDPOINT_DIR_IN) ? AVR32_USBB_UECFG0_EPDIR_MASK : 0) |
+ ((Banks > 1) ? AVR32_USBB_UECFG0_EPBK_SINGLE : AVR32_USBB_UECFG0_EPBK_DOUBLE) |
Endpoint_BytesToEPSizeMask(Size)));
}
diff --git a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
index 787244b97..196eb07de 100644
--- a/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/Pipe_UC3.c
@@ -72,7 +72,7 @@ bool Pipe_ConfigurePipe(const uint8_t Address,
if (Type == EP_TYPE_CONTROL)
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)
Pipe_SelectPipe(Number);