User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 395
UG585 (v1.11) September 27, 2016
Chapter 15: USB Host, Device, and OTG Controller
Port Transceiver Controller
The port transceiver controller provides suspend/resume and, for device mode, chirp control
functions. The port transceiver controller is fairly simple because the 8-bit data bus of the protocol
engine is passed-through to the 8-bit ULPI and the entire back-end of the USB controller works
synchronously to the 60 MHz USB clock from the PHY.
ULPI Link Wrapper
The protocol engine includes an internal bus that is similar to UTMI+. The ULPI wrapper provides an
bridge between this bus similar to UTMI+ and the ULPI interface. This is transparent to the user. The
ULPI Link wrapper passes-through packet data and interprets Rx commands as well as send Tx
commands.
ULPI Rx/Tx Commands
The ULPI Rx commands are initiated by the PHY to set status bits to give software visibility to PHY
events. The commands set controller status bits. The Tx commands are initiated by register writes by
software to control PHY functions. These commands are defined by the ULPI specification.
ULPI PHY Viewport
The ULPI viewport provides a mechanism for software to read and write PHY registers with explicit
control of the address and data using the usb.VIEWPORT register. An interrupt is generated when a
transaction is complete, including when the requested read data is available.
Programmable Timers
There are two independent general-purpose timers that can be used to generate a timeout or to
measure time related activities. The programmable timers should not be confused with the
controller’s interval timers which are used by the controller to generate frame and microframe
intervals and to generate strobes for the host controller scheduler. The programmable timers are
described in section 15.2.6 General Purpose Timers.
Software Programming Interface
In addition to maintaining data and buffer structures in system memory, the software reads and
writes the control and status registers. The CPU environment that executes the software is described
in Chapter 15, USB Host, Device, and OTG Controller. The controller can generate interrupts cause by
the DMA and Protocol engine activities, the PHY, and other controller functions. The interrupts are
summarized in Table 15-2 USB Interrupt and Status Register Bits.
The system will include either a Host Controller Driver (HCD) or a Device Controller Driver (DCD).
There may be additional of software to support the OTG functions.