Universal Serial Bus (USB)
MCF5272 ColdFire Integrated Microprocessor User’s Manual, Rev. 3
Freescale Semiconductor
12-29
A device may support multiple configurations. Within any one configuration, the device may support
multiple interfaces. An interface consists of a set of endpoints that presents to the host a single feature or
function of the device. An interface within a configuration may have alternate settings that redefine the
characteristics of the associated endpoints. All devices must provide a device descriptor and at least one
configuration, interface and endpoint descriptor. Each configuration must have at least one interface and
one endpoint descriptor. Only one configuration is effective at any time, but several interfaces and their
related endpoints may be operational at the same time. Only one setting for a particular interface is
effective at any time.
12.3.3.2
USB Device Configuration Example
The example descriptor structure in
Figure 12-23 shows a device with three different configurations. Refer
to Chapter 9 of the USB Specification for information on the contents of each descriptor.
Figure 12-23. Example USB Configuration Descriptor Structure
This example is described in the configuration RAM sequence shown below. The device descriptor begins
at address MBAR + 0x1400. Each descriptor must immediately follow the previous descriptor without any
empty locations between them.
1. Device Descriptor
2. Configuration #1 Descriptor
3. Interface #0 Descriptor
4. Endpoint #1 Descriptor
5. Endpoint #2 Descriptor
6. Interface #1 Descriptor
7. Endpoint #3 Descriptor
8. Configuration #2 Descriptor
Endpoint #2
Descriptor
Endpoint #1
Descriptor
Endpoint #1
Descriptor
Endpoint #3
Descriptor
Endpoint #2
Descriptor
Endpoint #1
Descriptor
Interface #0
Descriptor
Interface #1
Descriptor
Interface #0
Descriptor
Interface #0
Descriptor
Configuration #1
Descriptor
Configuration #2
Descriptor
Configuration #3
Descriptor
Device
Descriptor