Information

Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 13-45
13.4.2 DMA Engine
The module contains a local DMA engine. The DMA engine interfaces internally to the CSB. It is
responsible for moving all of the data to be transferred over the USB between the module and buffers in
system memory. Like the system interface block, the DMA engine block uses a simple synchronous bus
signaling protocol that eases connections to a number of different standard buses.
The DMA controller must access both control information and packet data from system memory. The
control information is contained in link list–based queue structures. The DMA controller has state
machines that are able to parse data structures defined in the EHCI specification. In host mode, the data
structures are EHCI compliant and represent queues of transfers to be performed by the host controller,
including the split-transaction requests that allow an EHCI controller to direct packets to FS and LS
devices. In device mode, the data structures are designed to be similar to those in the EHCI specification
and are used to allow device responses to be queued for each of the active pipes in the device.
13.4.3 FIFO RAM Controller
The FIFO RAM controller is used for context information and to control FIFOs between the protocol
engine and the DMA controller. These FIFOs decouple the system processor/memory bus requests from
the extremely tight timing required by USB.
The use of the FIFO buffers differs between host and device mode operation. In host mode, a single data
channel is maintained in each direction through the buffer memory. In device mode, multiple FIFO
channels are maintained for each of the active endpoints in the system.
In host mode, the USB DR module uses a 512-byte Tx buffer and a 512-byte Rx buffer. Device operation
uses a single 512-byte Rx buffer and a 512-byte Tx buffer for each endpoint. The 512-byte buffers allow
the module to buffer a complete HS bulk packet.
13.4.4 PHY Interface
The USB DR module interfaces to any ULPI-compatible PHY. The primary function of the port controller
block is to isolate the rest of the module from the transceiver, and to move all of the transceiver signaling
into the primary clock domain of the module. This allows the module to run synchronously with the system
processor and its associated resources.
Due to pin count limitations the module only supports certain combinations of PHY interfaces and USB
functionality. Refer to Table 13-38 for more information.
13.5 Host Data Structures
This section defines the interface data structures used to communicate control, status, and data between
HCD (software) and the Enhanced Host Controller (hardware). The data structure definitions in this
Table 13-38. Supported PHY Interfaces
PHY Function
ULPI Host/Device/OTG