This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP L138: few questions to clarify on USB 2.0 controller

Hi,

Below are the few questions I would like to clarify:

1. For supported control write requests, does software need to send ZLP explicitly in the Status stage (or hardware will take care that automatically ) ?

2. For supported control read requests, will receiving ZLP in the Status stage generate interrupt and require action from software ?

Subsequent questions are based on this spec: 
Universal Serial Bus Specification 2.0

8.5.3.2 Variable-length Data Stage

If the data structure is an exact multiple of wMaxPacketSize for the pipe, the function will return a zero-length packet to indicate the end of the Data stage.

 


3. For control read requests, if the last data packet is equal to wMaxPacketSize, do I set  DATAEND bit immediately ? Or I should only set it after I have send a zero-length packet ?

4. Likewise for control write requests, if the last data packet received is equal to wMaxPacketSize, do I set  DATAEND bit immediately ? Or I should only set it after receive a zero-length packet  from host?

For the last 2 questions, current assumption is to set DATAEND bit  after send a zero-length packet  to host (read requests) and after receive a zero-length packet  from host (write request).

rgds,

kc Wong