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.

AM5708: DWC3 USB 3.0 Controller does not work in usb 2.0 mode when used as a device/function

Part Number: AM5708
Other Parts Discussed in Thread: AM5728

Hi, 

We are using a board based on AM5708 processor for CDC RNDIS use case. USB 2.0 Type A port is used for both Host and Device. USB1 (DWC3 USB 3.0) controller is configured as High Speed and used for both Host OR Device. RNDIS use case is getting failed for large size ping. The same USB Function driver works for other platforms. 

As per TI Errata document SPRZ436E, i819 - A Device Control Bit Meta-Stability for USB3.0 Controller in USB2.0 Mode

"When USB3.0 controller core is programmed to be a USB 2.0-only device, possible hardware meta-stability on USB_DCTL[31] RUNSTOP bit causing the core to attempt high speed as well as SuperSpeed connection or completely miss the attach request."

Can we use USB 3.0 controller as Device when configured as USB 2.0 device only? 

Regards

  • Hi,

    Can you explain more on the "RNDIS use case is getting failed for large size ping" issue you mentioned above? How is the failure happening? Can you share the kernel logs?

    How are you relation this issue with i819? Can you give some details? Note that as per the errata, workaround suggested is already part of TI SDKs.

    >Can we use USB 3.0 controller as Device when configured as USB 2.0 device only? 

    Regarding the above question , the answer is yes.

    Thanks. 

  • Hi, 

    We are testing USB Function/Device CDC-Ethernet Class using proprietary RTOS. The same USB Function driver works for other platforms like ultrazed_eg_iocc, imx8mqevk and ls1046ardb. But when used for am5728 based board, large size ping is failed. When we ping the IP for large size e.g. ping <ip_address> -t -l 32768 then ping is failed after some time. 

    The board does not have USB 3.0 port. It has USB 2.0 Type A port to test both Host OR Device controllers. As per errata i819, "When USB3.0 controller core is programmed to be a USB 2.0-only device, possible hardware meta-stability on USB_DCTL[31] RUNSTOP bit causing the core to attempt high speed as well as SuperSpeed connection or completely miss the attach request.", it seems, we can't test USB function in 2.0 mode. 

    Can we use USB 3.0 Device controller when configured as USB 2.0 device only?

    Regards 

  • Hi,

    As I mentioned in my previous reply, Yes, the USB3.0 device controller can be used in USB2.0 device mode.

    We are not sure if the ping issue you are seeing is due to the errata i819. Note that this errata is applicable when we operate in host mode and when we are trying to enumerate the high-speed device.

    Thanks.

  • Hi, 

    >>> i819 - When USB3.0 controller core is programmed to be a USB 2.0-only device, possible hardware meta-stability on USB_DCTL[31] RUNSTOP bit causing the core to attempt high speed as well as SuperSpeed connection or completely miss the attach request <<<

    Register mentioned in Errata indicates that Controller is configured as Device/Function. I think, this errata is not applicable when Controller operates in Host mode.  

    Regards 

  • Hi,

    Thanks for correcting. Yes, the Errata applies when USB3.0 controller core is programmed to be a USB 2.0-only device. As the errata description says, the hardware meta-stability occurs during device attach only. So large size ping failing is not related to this.

    Thanks.