Universal Serial Bus InterfaceMCF5253 Reference Manual, Rev. 124-122 Freescale SemiconductorNOTEThe software must ensure that no interface data structure reachable by theDevice Controller spans a 4K-page boundary.The data structures defined in the section are (from the device controller's perspective) a mix of read-onlyand read/ writable fields. The device controller must preserve the read-only fields on all data structurewrites.The USB_DR core includes DCD software called the USB 2.0 Device API. The Device API provides aneasy to use Application Program Interface for developing device (peripheral) applications. The DeviceAPI incorporates and abstracts for the application developer all of the elements of the program interface.Figure 24-60. End Point Queue Head OrganizationDevice queue heads are arranged in an array in a continuous area of memory pointed to by theENDPOINTLISTADDR pointer. The even –numbered device queue heads in the list support receiveendpoints (OUT/SETUP) and the odd-numbered queue heads in the list are used for transmit endpoints(IN/INTERRUPT). The device controller will index into this array based upon the endpoint numberreceived from the USB bus. All information necessary to respond to transactions for all primed transfersis contained in this list so the Device Controller can readily respond to incoming requests without havingto traverse a linked list.NOTEThe Endpoint Queue Head List must be aligned to a 2k boundary.24.10.1 Endpoint Queue HeadThe device Endpoint Queue Head (dQH) is where all transfers are managed. The dQH is a 48-byte datastructure, but must be aligned on 64-byte boundaries. During priming of an endpoint, the dTD (deviceUp to32 elementsEndpoint QH 0 – InENDPOINTLISTADDREndpoint QH 1 – OutEndpointTransferDescriptorEndpoint Queue HeadsTransfer Buffer PointerTransferBufferTransferBufferTransferBufferTransferBufferTransfer Buffer PointerTransfer BufferPointerTransferBufferPointerEndpoint QH 0 – Out