USB Device Controller

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.

 

 

The UDC decodes most standard device commands with no intervention required by the user. The following commands are not passed to the user: 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.7Configuration

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.

Intel® PXA255 Processor Developer’s Manual

12-9

Page 411
Image 411
Intel PXA255 manual Configuration, Host Device Request Summary, Request Name