User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 412
UG585 (v1.11) September 27, 2016
Chapter 15: USB Host, Device, and OTG Controller
Port Change Detect
After a port change detect, the device has reached the default state and the DCD can read the
PORTSC1 register to determine if the device is operating in FS or HS mode. At this time, the device
controller has reached normal operating mode and the DCD can respond to enumeration according
to the USB Chapter 9 - Device Framework.
The DCD can use the FS/HS mode information to determine the bandwidth mode of the device.
Note: Before resume signaling can be used, the host must be enabled using the Set Feature
command defined in device framework of the USB 2.0 Specification.
15.5 Device Endpoint Data Structures
The device endpoint data structures consist of link-list endpoint descriptors that must be initialized and
managed by software. This consists of programming the endpoint control registers, maintaining a set of
descriptors in system memory, and managing system memory buffers.
15.5.1 Link-list Endpoint Descriptors
There are two types of descriptors used for the device controller: the device Queue Head (dQH) and
the device Transfer Descriptor (dTD). Figure 15-13 shows how these are used in a link-list fashion.
The DMA engine uses link-list descriptors to respond to endpoint packet transfer requests from the
host.
It is necessary for the DCD to maintain head and tail pointers to the linked list of dTD’s for each
respective queue head. This is necessary because the dQH only maintains pointers to the current
working dTD and the next dTD to be executed. The operations described in next section for
managing dTD will assume the DCD can reference the head and tail of the dTD linked list.
Note: To conserve memory, the reserved fields at the end of the dQH can be used to store the Head
and Tail pointers but it still remains the responsibility of the DCD to maintain the pointers.