DRA829J: About USB2.0 PHY reset

Part Number: DRA829J

Hi, 

On our custom board featuring the DRA829J, USB 2.0 devices occasionally fail to be detected under specific conditions.
Based on the symptoms, we suspect that the i2091 erratum is occurring.
While one suggested workaround involves adjusting the amplitude of the signaling, we would prefer to resolve the issue via software after the USB PHY hangs.
We believe it might be possible to recover by resetting the PHY through software; could you confirm if this is a viable solution, and if so, what is the correct procedure for resetting the PHY?

Thanks and regards,

  • Yuhei Shimizu -san,

    What are those specific conditions and why do you believe that the errata i2091 may be applying here? Initially you mentioned the device is failed to be detected, then you mention that the USB PHY hangs? are you using the TI SDK latest version? 

    Are the USB3.3/1.8V rails stable without any ripple on them to be impacted and cause a shift in detection threshold? Are there other passive R or C on the lines or is there a USB hub in between? 

  • Are the detection failures happening on all the custom boards or only a subset of them? 1/2 board failing out of 1000boards or lower? 

    what is the failure rate when it is not detected, 1 time out of 10 tries or 1 out of 1000? 

  • Hello,
    Thank you for your inquiry. **Diwakar Dhyani** is currently on leave till **2026-10-20**.
    Your query will be addressed upon their return. We appreciate your patience and understanding.
    Best regards,
    TI E2E Support Team
    ---
    *This is an automated notification.*

  • The issue occurs when a custom board is connected to a PC via a commercially available USB hub; unplugging and replugging the cable between the PC and the USB hub frequently results in the USB 2.0 device failing to be detected.
    We suspect that the USB PHY has hung up, causing the device to go undetected.

    This issue has been observed on all four units we have tested; replacing the custom board does not resolve it.
    No issues occur when the custom board is connected directly to the PC; the problem only arises when a USB hub is used.
    Although we have not performed precise voltage measurements, the fact that the issue is triggered by plugging/unplugging suggests the possibility of the "i2091" erratum.
    As we wish to avoid hardware/circuit modifications, we are seeking a software-based recovery method.
    We are using an older version of the TI SDK: `pdk_jacinto_07_00_00`.

  • Our conclusion that the USB PHY has hung up is based on the following: after the issue occurs, we attempt to recover by re-initializing the USB driver without cycling the power.
    The initialization fails because USBR_STS does not change, leading us to believe the PHY is in a hung state.
    Specifically, in the following function:

    uint32_t ramInit(CUSBD_PrivateData* pD)
    ret = waitUntilBitSet(
    The function returns with ret set to 110(CDN_ETIMEDOUT), and the bit corresponding to USB_STS_IN_RST within USBR_STS remains at 0.

    Since the USB driver initialization completes successfully when the issue is not present even when performed repeatedly we believe that the USB PHY has indeed hung up when the problem occurs.

  • Yuhei-san,

    Manually unplugging and replugging the cable is not a good way to test the robustness of the SoC performance. There could be timing issues with this experiment that could potentially lead to this; not necessarily the "errata" condition.

    also, using an older 7.0 SDK when we are currently at 11.0 is also not recommended since there could be s.w issues found that may have been fixed on the later version. Are all the cables / device USB2.0 IF certified? 

    If the PHY recovers with the RST, you could go with that option.