This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5746: USB driver issue

Part Number: AM5746

Hi TI experts,

My customers fail to "USB driver's Read/Write".
They think "Transfer Request Block"(TRB) area settings are problematic. TRB area is overwritten (Write back) with cache data. When TRB is set outside the cache area, ”Read/Write fail” goes away.

Please look at this document. (USB_issue.pdf)

Could you please check USB driver?
(Sample project can't confirm success/fail)

Customer's board
C:\ti\pdk_am57xx_1_0_11\packages\ti\drv\usb
Using DWC3_1 as Bulk Device.
bios_6_76_00_08

  • Hi,

    I looked at your attachment and you think the TRB should be inside the non-cached memory to avoid the problem. However, our USB examples put the TRB inside the DDR and set it as cached, we didn't see any failure. I am discussing this with the USB developer and will update here.

    Regards, Eric

  • Hi,

    I discussed with the USB developer, the TRB is inside the USB driver code. There may be cases that data received by USB driver was placed into the buffer, but CPU/host application can't see it correctly so we need to do a cache invalidate for the CPU to get them. We put the TRB in the memory cached so far we didn't see the failure. This code needs to be reviewed and your suggestion to put TRB in the non-cached memory avoided the problem. 

    We agreed that the TRB code needs to be reviewed and fixed, but we don't have any schedule yet. The next release 6.1 is end of Q3 and we already in code freeze, so definitely we can't provide any fix in 6.1 release. The best we can do is in 6.2 release. I opened a ticket to track it.

    Regards, Eric