![Intel IXP45X Developer'S Manual Download Page 453](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092453.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262--, Revision: 004US
453
USB 2.0 Host Controller—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
initializes a queue head. The host controller preserves the Ping State bit across all
queue advancements. This means that when a new qTD is written into the queue head
overlay area, the previous value of the Ping State bit is preserved.
9.14.12
Split Transactions
USB 2.0 defines extensions to the bus protocol for managing USB-1.x data streams
through USB 2.0 hubs. This section describes how the host controller uses the interface
data structures to manage data streams with full- and low-speed devices, connected
below USB 2.0 hub, utilizing the split transaction protocol. Refer to USB 2.0
Specification for the complete definition of the split transaction protocol. Full- and Low-
speed devices are enumerated identically as high-speed devices, but the transactions
to the Full- and Low-speed endpoints use the split-transaction protocol on the high-
speed bus. The split transaction protocol is an encapsulation of (or wrapper around) the
Full- or Low-speed transaction. The high-speed wrapper portion of the protocol is
addressed to the USB 2.0 hub and Transaction Translator below which the Full- or Low-
speed device is attached.
The EHCI interface uses dedicated data structures for managing full-speed isochronous
data streams (see
Section 9.13.4, “Split Transaction Isochronous Transfer Descriptor
). Control, Bulk and Interrupt are managed using the queuing data
structures. The interface data structures need to be programmed with the device
address and the Transaction Translator number of the USB 2.0 hub operating as the
Low-/Full-speed host controller for this link. The following sections describe the details
of how the host controller must process and manage the split transaction protocol.
9.14.12.1 Split Transactions for Asynchronous Transfers
A queue head in the asynchronous schedule with an EPS field indicating a full-or low-
speed device indicates to the host controller that it must use split transactions to
stream data for this queue head. All full-speed bulk and full-, low-speed control are
managed via queue heads in the asynchronous schedule.
Software must initialize the queue head with the appropriate device address and port
number for the transaction translator that is serving as the full/low-speed host
controller for the links connecting the endpoint. Software must also initialize the split
transaction state bit (SplitXState) to Do-Start-Split. Finally, if the endpoint is a control
endpoint, then system software must set the Control Transfer Type (C) bit in the queue
head to a one. If this is not a control transfer type endpoint, the C bit must be
initialized by software to be a zero. This information is used by the host controller to
properly set the Endpoint Type (ET) field in the split transaction bus token. When the C
bit is a zero, the split transaction token's ET field is set to indicate a bulk endpoint.
When the C bit is a one, the split transaction token's ET field is set to indicate a control
endpoint. Refer to Chapter 8 of USB Specification Revision 2.0 for details.