Hi,
The USB 2.0 LPM ECN (and later errata) defines a L1 (sleep) state between L0 (active) and L2 (suspend). The L1 state is entered by sending a command to the device, as opposed to suspend which is implicit from 3 ms inactivity on the bus. The exit from L1 is through resume signalling, just like the exit from suspend, but supposedly a lot shorter.
Has anyone looked at implementing this in StarterWare for device mode?
- Some software for decoding the LPM transaction will of course be needed.
- The timing for the resume signalling is directly controlled by software through the POWER[RESUME] bit in USBHostResume() anyway, so that doesn't look too difficult.
- In addition to this, we need to communicate a BESL value and the LPM L1 capability to the host through the device descriptor.
I didn't see any implementation of this in linux for the MUSB driver, only for the XHCI driver.
Thanks,
Orjan