Hi,
I'd like to understand what happens with the USB bus when going to various low power modes, specifically when acting as a device.
I'm using the TI AM335x EVM with StarterWare 2.00.00.06.
1) USB wakeup source
The AM335x TRM, section 8.1.1.4.5, says that standard USB resume can be used as a wake up event.
Is there any other USB activity, besides USB resume signalling, that can be used as a wakeup source? For example, any USB OUT token sent by the host.
If it is possible to wake up on traffic, then there's of course also the question of how quickly we need to respond to it, directly relating to the exit latency of the available low power modes.
2) USB link
Say that the link is up (i.e. has not been suspended by the host) and there is no traffic, but possibly IN tokens being NAKed. It would seem to me that the lowest power mode we can go to theoretically is the lowest mode where hardware can autonomously manage the bus.
DeepSleep1 is the lowest state where PD_PER is still on, so that's a candidate. But that assumes that no interrupts are registered in software for non-traffic events. (DeepSleep0 is out since that turns PD_PER off, and would likely lead to a bus error and re-enumeration when we wake up.)
What is the deepest sleep where the USB link can be maintained?
(In the StarterWare demo application, where the power management stuff is available, there is no USB device functionality.)
3) USB and power domains
Are the USB PHYs are part of the PD_WKUP power domain? (I don't see USB mentioned with the other wakeup sources on the L4 wakeup bus/domain.)
Or is the wakeup via USB resume signalling handled in a special way that doesn't utilize the PHYs?
Also, looking at the USB Integration figure in 16.2, it seems that the USB subsystem itself signals the M3 through the usb{0,1}_wuout or slv0_Swakeup signal, but the USB controller is in the PD_PER domain.
Does this mean that PD_PER must be on (i.e. DeepSleep1) to wake up on USB resume?
Thanks,
Orjan