summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/usb-drv-as3525.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/usb-drv-as3525.c')
-rw-r--r--firmware/target/arm/as3525/usb-drv-as3525.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525.c b/firmware/target/arm/as3525/usb-drv-as3525.c
index 0b69e8953b..e97abb2ca0 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525.c
@@ -156,6 +156,7 @@ static void dma_desc_init(int ep, int dir)
156static void reset_endpoints(int init) 156static void reset_endpoints(int init)
157{ 157{
158 int i; 158 int i;
159 int mps = i == 0 ? 64 : (usb_drv_port_speed() ? 512 : 64);
159 160
160 /* 161 /*
161 * OUT EP 2 is an alias for OUT EP 0 on this HW! 162 * OUT EP 2 is an alias for OUT EP 0 on this HW!
@@ -168,14 +169,6 @@ static void reset_endpoints(int init)
168 endpoints[2][1].state |= EP_STATE_ALLOCATED; 169 endpoints[2][1].state |= EP_STATE_ALLOCATED;
169 170
170 for(i = 0; i < USB_NUM_EPS; i++) { 171 for(i = 0; i < USB_NUM_EPS; i++) {
171 /*
172 * LS: 8 (control), no bulk available
173 * FS: 64 (control), 64 (bulk)
174 * HS: 64 (control), 512 (bulk)
175 * TODO: switch depending on speed.
176 */
177 int mps = i == 0 ? 64 : 512;
178
179 if (init) { 172 if (init) {
180 endpoints[i][0].state = 0; 173 endpoints[i][0].state = 0;
181 wakeup_init(&endpoints[i][0].complete); 174 wakeup_init(&endpoints[i][0].complete);
@@ -395,7 +388,7 @@ int usb_drv_recv(int ep, void *ptr, int len)
395 endpoints[ep][1].rc = -1; 388 endpoints[ep][1].rc = -1;
396 389
397 /* remove data buffer from cache */ 390 /* remove data buffer from cache */
398 invalidate_dcache(); 391 dump_dcache_range(ptr, len);
399 392
400 /* DMA setup */ 393 /* DMA setup */
401 uc_desc->status = USB_DMA_DESC_BS_HST_RDY | 394 uc_desc->status = USB_DMA_DESC_BS_HST_RDY |
@@ -446,7 +439,7 @@ void ep_send(int ep, void *ptr, int len)
446 endpoints[ep][0].rc = -1; 439 endpoints[ep][0].rc = -1;
447 440
448 /* Make sure data is committed to memory */ 441 /* Make sure data is committed to memory */
449 clean_dcache(); 442 clean_dcache_range(ptr, len);
450 443
451 logf("xx%s\n", make_hex(ptr, len)); 444 logf("xx%s\n", make_hex(ptr, len));
452 445