Intel PXA255 Personal Computer User Manual


 
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 host set the specified configuration or interface
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, the 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 not able decode
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 support more data channel bandwidth than the USB
specification allows. When the device responds to the host, it must 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 schedule the proper bandwidth and does not take 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 packet with a maximum size less than 256 bytes to the
host. For example, if software responds to the GET_DESCRIPTOR command that Endpoint 3 only
supports 64 bytes 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 128 bytes 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.