dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[0], 0x01000130 ); //ep1 tx fifo
dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[1], 0x00800230 ); //ep3 tx fifo
dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[2], 0x008002b0 ); //ep5 tx fifo
- dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[2], 0x00800330 ); //ep7 tx fifo
- dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[2], 0x001003b0 ); //ep9 tx fifo
+ dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[3], 0x00800330 ); //ep7 tx fifo
+ dwc_write_reg32( &global_regs->dptxfsiz_dieptxf[4], 0x001003b0 ); //ep9 tx fifo
#endif
if(_core_if->en_multiple_tx_fifo && _core_if->dma_enable)
{
if(ep->dwc_ep.is_in)
{
-#ifdef CONFIG_ARCH_RK30
+#ifndef CONFIG_ARCH_RK29
if(!pcd->otg_dev->core_if->en_multiple_tx_fifo)
{
ep->dwc_ep.tx_fifo_num = 0;
"ep2in",
"ep3in",
"ep4in",
+#ifdef CONFIG_ARCH_RK29
+ "ep5in-int",
+#else
"ep5in",
+#endif
"ep6in",
"ep7in",
"ep8in",
/* bulk endpoints handle interrupt transfers,
* except the toggle-quirky iso-synch kind
*/
- if ('s' == tmp[2]) // == "-iso"
+ if ('n' != tmp[2]) // == "-int"
return 0;
/* for now, avoid PXA "interrupt-in";
* it's documented as never using DATA1.
return 0;
}
} else {
+#ifdef CONFIG_ARCH_RK29
+ if (USB_ENDPOINT_XFER_INT == type)
+ return 0;
+#endif
tmp = ep->name + strlen (ep->name);
}
/* INT: limit 64 bytes full speed, 1024 high speed */
if (!gadget->is_dualspeed && max > 64)
return 0;
+ break;
/* FALLTHROUGH */
case USB_ENDPOINT_XFER_ISOC:
.bDescriptorType = USB_DT_ENDPOINT,
.bEndpointAddress = USB_DIR_IN,
.bmAttributes = USB_ENDPOINT_XFER_BULK,
- .wMaxPacketSize = __constant_cpu_to_le16(64),
+ .wMaxPacketSize = __constant_cpu_to_le16(512),
};
static struct usb_endpoint_descriptor adb_highspeed_out_desc = {