Not sure if this is the same as Errata USB#05
Customer reporting an issue where the USB power domain does not seem to properly re-power. When this occurs, the USBPDS register does not reflect the proper PWRSTAT, which also means that the USB peripheral is never ready (according to register PRUSB). In fact, any attempt to access registers within the USB0 peripheral while in this state will lead to a hardfault.
Steps to recreate:
- Set system clock (60MHz via 480 VCO)
- Power up USBMPC and PCUSB (redundant at power on)
- Enable USB clocking in RCGCUSB
- Reset USB peripheral via SRUSB
- Wait for peripheral ready (via PRUSB)
- Short delay (~1s)
- Disable USB clocking in RCGCUSB
- Power down USBMPC and PCUSB)
- Short delay (~1s)
- Repeat from step 2.
In the few tests they have run it takes between 100 and 1000 attempts, but eventually the device will get stuck waiting for Peripheral Ready (PRUSB). When it gets in this state the USBPDS doesn’t seem to react to changes in USBMPC. A software reset will not clear the problem, but the problem WILL go away with a user reset, power-on reset, or watchdog reset.
Question:
- Is this a known issue?
- If so, are there any known work-arounds?
They have a simple tivaware-based project in IAR that can be shared if needed.