Intel® IXP42X product line and IXC1100 control plane processors—Universal Serial Bus (USB)
v1.1 Device Controller
Intel® IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
DM September 2006
470 Order Number: 252480-006US
Data flow is relative to the USB host. IN packets represent data flow from the UDC to
the USB host. OUT packets represent data flow from the USB host to the UDC.
The FIFOs for the bulk and isochronous endpoints are double-buffered so that one
packet can be processed while the next is being assembled. While the UDC is busy
transmitting an IN packet from a particular endpoint, the Intel XScale® processor can
be loading the same endpoint for the next frame transmission. Likewise, while the Intel
XScale® processor is unloading an OUT endpoint, the UDC can continue to process the
next incoming packet to that endpoint.
18.3 USB Operation
After an Intel XScale® processor reset — or when the USB host issues a USB reset —
the UDC configures all endpoints and is forced to use the USB default address, 0. After
the UDC configures the endpoints, the USB host assigns the UDC a unique address. At
this point, the UDC is under the USB host’s control and responds to commands that use
control transactions to transmit to endpoint 0.
The following sections provide details of the USB protocol in a bottom-up fashion,
starting with signalling levels.

18.3.1 Signalling Levels

USB uses differential signalling to encode data and to indicate various bus conditions.
The USB specification refers to the J and K data states to differentiate between high-
and low-speed transmission. Because the UDC supports only 12-Mbps transmission,
references are made only to actual data state 0 and actual data state 1.
Table 160. Endpoint Configuration: Universal Serial Bus Device Controller
Endpoint Number Type Function FIFO Size (bytes) X
Number of FIFOs
0 Control IN/OUT 16
1 Bulk IN 64x2
2 Bulk OUT 64x2
3 Isochronous IN 256x2
4 Isochronous OUT 256x2
5 Interrupt IN 8
6 Bulk IN 64x2
7 Bulk OUT 64x2
8 Isochronous IN 256x2
9 Isochronous OUT 256x2
10 Interrupt IN 8
11 Bulk IN 64x2
12 Bulk OUT 64x2
13 Isochronous IN 256x2
14 Isochronous OUT 256x2
15 Interrupt IN 8