User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 459
UG585 (v1.11) September 27, 2016
Chapter 15: USB Host, Device, and OTG Controller
15.12.5 Queue Element Transfer Descriptor (qTD)
This data structure is only used with a queue head. This data structure is used for one or more USB
transactions. This data structure is used to transfer up to 20,480 (5 times 4,096) bytes. The structure
contains two structure pointers used for queue advancement, a DWord of transfer state, and a
five-element array of data buffer pointers. This structure is 32 bytes (or one 32-byte cache line). This
data structure must be physically contiguous.
The buffer associated with this transfer must be virtually contiguous. The buffer can start on any byte
boundary. A separate buffer pointer list element must be used for each physical page in the buffer,
regardless of whether the buffer is physically contiguous.
Host controller updates (host controller writes) to stand-alone qTD’s only occur during transfer
retirement. References in the following bit field definitions of updates to the qTD are to the qTD
portion of a queue head.
qTD DWord 0: Next Pointer
The first DWord of an element transfer descriptor is a pointer to another transfer element descriptor.
Table 15-35: USB Host Transfer Descriptor (qTD) Format
Reference Type 313029282726252423222120191817161514 13 121110 9 8 7 6 5 4 3 2 1 0 DWord
Table 15-36
Transfer Overlay Area
Next qTD Pointer 0000 T 0
Table 15-37 Alternate Next qTD Pointer 0000 T 1
Table 15-38
Transfer
Results
DT Total Bytes
IOC
C_Page Cerr PID Status 2
Table 15-39
Buffer Pointer (Page 0)
Current Offset 3
Buffer Pointer (Page 1) reserved 4
Buffer Pointer (Page 2) reserved 5
Buffer Pointer (Page 3) reserved 6
Buffer Pointer (Page 4) reserved 7
Host Controller Read/Write Host Controller Read-only
Table 15-36: USB Host qTD DWord 0: Next Element Transfer Pointer
Bits Description
31:5 Next Transfer Element Pointer, Next qTD Pointer. This field contains the physical memory address of
the next qTD to be processed. The field corresponds to memory address bits [31:5], respectively.
4:1 Reserved. Field reserved and should be set to 0.
0 Terminate transfer, T.
0: link to the Next qTD Pointer field; the address is valid.
1: end the transaction, the Next qTD Pointer field is not valid.