Intel® PXA26x Processor Family Developer’s Manual 12-1
Universal Serial Bus Device Controller 12
This section describes the Universal Serial Bus (USB) protocol and its implementation-specific
options for device controllers for the Intel® PXA26x Processor Family. These options include
endpoint number, type, and function; interrupts to th e Intel® XScale™ Microarchitecture (core);
and a transmit/receive FIFO interface. A working knowledge of the USB standa rd is vital to using
this section effectively. The universal serial bus device controller (UDC) is USB-compliant and
supports all standard device requests issued by the host. UDC operation s um maries and quick
reference tables are provided. Refer to the Universal Serial Bus Specification, revision 1.1, for a
full description of the USB protocol. The Universal Serial Bu s Specification is available at http://
www.usb.org.
The PXA26x processor family USB device controller has support for a 6-pin interface compatible
with the Phillips Semiconductors PDIUSBP11A transceiver with the MODE pin grounded and
SPEED pin driven high. Suspend is not supported with this interface, and if needed must be
implemented with a separate GPIO. Two of the pins are multiplexed with the FFUART, which
simplifies the physical interface for synchronization by allowing software to automatically choose
between a USB or UART interface.
To enable the 6 pin interface, the GPIO pins associated with it must be set to the appropriate
alternate function. When all the pins in the interface are enabled, the default USB interface pins,
USB_P and USB_N are automatically disabled. USB_P and USB_N must be driven to ground
when using the 6 pin interface. See Section4.1.2, “GPIO Alternate Functions” on page4-3 for
details.

12.1 Universal Serial Bus Overview

The UDC supports 16 endpoints and can operate half-duplex at a rate of 12Mbps (as a slave only,
not as a host or hub controller). The UDC supports four device configurati ons. Con fi gura ti ons 1, 2,

and 3 each support two interfaces. Alternate interface settings are not supported. This allows the

host to accommodate dynamic changes in the physical bus topology. A configuration is a specific
combination of USB resources available on the device. An interface is a relate d s et of endpoints
that present a device feature or function to the host.
The UDC transmits serial information that contains layers of communication protocols. Fields are
the most basic protocol. UDC fields include: sync, packet identifier (PID), address, endpo int, frame
number, data, and cyclic redundancy check (CRC). Fields are combined to produce packets. A
packet’s function determines the combina tion and num ber o f fiel ds tha t make u p the pack et. P acket
types include: token, start of frame, data, and handshake. Packets are assembled into groups to
produce transactions. Transactions fall int o four groups: bulk, control, interrupt, and isochronous.
endpoint 0 is used only to communicate the control transa ctions that configure the UDC. Endpoint
0’s responsibilities include: connection, address assignment, endpoint configuration, bus
enumeration, and disconnection.
The UDC uses a dual-port memory to support FIFO operations. Each bulk and isochronous
endpoint FIFO structure is double buffered to enable the e ndpoint to process one packet as it
assembles another. The DMA and the core can fill and empty the FIFOs. An interrupt or DMA