Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 1Freescale Semiconductor 24-14324.11.4.2 Operational Model For Setup TransfersAs discussed in Section 24.11.3.5, “Control Endpoint Operation Model,” setup transfer requires specialtreatment by the DCD. A setup transfer does not use a dTD but instead stores the incoming data from asetup packet in an 8-byte buffer within the dQH.Upon receiving notification of the setup packet, the DCD should handle the setup transfer as demonstratedhere:1. Copy setup buffer contents from dQH—RX to the software buffer.2. Acknowledge setup backup by writing a 1 to the corresponding bit in ENDPTSETUPSTAT.NOTEThe acknowledge must occur before continuing to process the setup packet.NOTEAfter the acknowledge has occurred, the DCD must not attempt to accessthe setup buffer in the dQH—RX. Only the local software copy should beexamined.3. Check for pending data or status dTD's from previous control transfers and flush if any exist asdiscussed in Section 24.11.5.5, “Flushing/De-Priming an Endpoint.”NOTEIt is possible for the device controller to receive setup packets beforeprevious control transfers complete. Existing control packets in progressmust be flushed and the new control packet completed.4. Decode setup packet and prepare data phase [optional] and status phase transfer as required by theUSB Chapter 9 or application specific protocol.24.11.5 Managing Transfers with Transfer Descriptors24.11.5.1 Software Link PointersIt is necessary for the DCD software to maintain head and tail pointers to the for the linked list of dTDsfor each respective queue head. This is necessary because the dQH only maintains pointers to the currentworking dTD and the next dTD to be executed. The operations described in next section for managing dTDwill assume the DCD can use reference the head and tail of the dTD linked list.NOTETo conserve memory, the reserved fields at the end of the dQH can be usedto store the Head and Tail pointers but it still remains the responsibility ofthe DCD to maintain the pointers.