Endpoint status of EZ-USB (AN21xx/FX/FX1/FX2/FX2LP)

Question: How do I find the status of an endpoint of EZ-USB (AN21xx/FX/FX1/FX2/FX2LP) at a given instance of time? What will be status of the endpoint after the device comes out of suspend?

 

Answer:

The standard endpoint request Get Status can be used to find whether the endpoint has stalled. The device responds with 2 bytes and the least significant bit contains the status of the endpoint (1 = Stalled). When the device wakes up from suspend the endpoint will retain the status it had before the device went to suspend.