Dear all,
I have some questions about USB 2.0 Controller on AM1808. Both Datasheet and TRM state that it has 4 TX and 4 RX endpoints (plus ep0), 4KB FIFO RAM, and include a DMA controller with 4 TX and 4 RX DMA channels. Looking at code in kernel drivers/usb/musb/musb_core.c file, it seems number of endpoints, their role and related FIFOs are configurable and can be changed, but looking at TI documents I doubt USB HW Controller can support a different configuration.
So my question is: can AM1808 USB 2.0 Controller be configured in a different way that 4RX+4TX eps?
Can I have more that 8 eps, or 8 eps with different roles (eg. 3 TX + 5 RX)?
Currently the following configuration is used:
/* mode 2 - fits in 4KB */
static struct musb_fifo_cfg __devinitdata mode_2_cfg[] = {
{ .hw_ep_num = 1, .style = FIFO_TX, .maxpacket = 512, },
{ .hw_ep_num = 1, .style = FIFO_RX, .maxpacket = 512, },
{ .hw_ep_num = 2, .style = FIFO_TX, .maxpacket = 512, },
{ .hw_ep_num = 2, .style = FIFO_RX, .maxpacket = 1024, },
{ .hw_ep_num = 3, .style = FIFO_TX, .maxpacket = 512, },
{ .hw_ep_num = 3, .style = FIFO_RX, .maxpacket = 512, },
{ .hw_ep_num = 4, .style = FIFO_TX, .maxpacket = 256, },
{ .hw_ep_num = 4, .style = FIFO_RX, .maxpacket = 128, },
};
Is there any specific reason why ep2.RX has maxpacket size to 1024?
Thanks in advance.
Best regards,
Max