Intel® PXA255 Processor Developer’s Manual 12-9
USB Device Controller
The UDC decodes most standard device commands with no intervention required by the user. The
following commands are not passed to the user are: Set Address, Set Feature, Clear Feature, Get
Configuration, Get Status, Get Interface, and Sync Frame. The Set Configuration and Set Interface
commands are passed to the user to indicate that the h ost s et t he specif ied co nfigu ration or inte rface
and the software must take any necessary actions. Alternate interfaces settings are not supported;
the host must set the alternate settings field in SET_INTERFACE requests to zero. If the UDC
receives a SET_INTERFACE request with the alternate settings field non-zero , t he UDC responds
with a STALL. The Get Descriptor and Set Descriptor commands are passed to the user to be
decoded.
Because the Set Feature and Clear Feature commands are not passed on, the user is no t able de code
the device remote wakeup feature commands. To solve this problem, the status bit
UDCCS0:DRWF indicates whether or not the device remote wakeup feature is enabled. UDCCS0:
DRWF is a read-only bit. When the bit is set to 1, the device remote wakeup feature is enabled.
When the bit is set to 0, the feature is not enabled.
12.3.7 Configuration
In response to the GET_DESCRIPTOR command, the user device sends back a description of the
UDC configuration. The UDC can physically supp ort more data channel bandwidth than the USB
specification allows. When the device responds to the host, it mus t specify a legal USB
configuration. For example, if the device specifies a configuration of six isochronous endpoints of
256 bytes each, the host is not be able to schedu le th e pr ope r ba ndwidt h and doe s not t ake the UDC
out of Configuration 0. The user device determines which endpoints to report to the host. If an
endpoint is not reported, it is not used. Another option, attractive for use with isochronous
endpoints, is to describe a configuration of a pac ket with a maxim um size les s than 256 by tes to the
host. For example, if software resp ond s to t he GET_ DES CRIPTOR command that Endpoint 3 on ly
supports 64bytes maximum packet Isochronous IN data, the user device must set the
UDCCS3[TSP] bit after it loads 64 bytes for transmission. Similarly, if Endpoint 4 is described as
supporting 128bytes maximum packet Isochronous OUT data, the UDC recognizes the end of the
packet, sets UDCCS4[RPC], and an interrupt is generated.
Table 12-11. Host Device Request Summary
Request Name
SET_FEATURE Enables a specific feature such as device remote wake-up or endpoint stalls.
CLEAR_FEATURE Clears or disables a specific feature.
SET_CONFIGURATION Configures the UDC for operation. Used after a reset of the Megacell or after
a reset has been signalled via the USB.
GET_CONFIGURATION Returns the current UDC configuration to the host.
SET_DESCRIPTOR Sets existing descriptors or add new descriptors. Existing descriptors include:
device, configuration, string, interface, and endpoint.
GET_DESCRIPTOR Returns the specified descriptor, if it exists.
SET_INTERFACE Selects an alternate setting for the UDC’s interface.
GET_INTERFACE Returns the selected alternate setting for the specified interface.
GET_STATUS Returns the UDC’s status including: remote wake-up, self-powered, data
direction, endpoint number, and stall status.
SET_ADDRESS Sets the UDC’s 7-bit address value for all future device accesses.
SYNCH_FRAME Sets then reports an endpoint’s synchronization frame.