![Freescale Semiconductor MCF54455 Reference Manual Download Page 267](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541267.webp)
Universal Serial Bus Interface – On-The-Go Module
10-60
Freescale Semiconductor
10.5.3.3
Managing Endpoints
The USB 2.0 specification defines an endpoint (also called a device endpoint or an address endpoint) as a
uniquely addressable portion of a USB device that can source or sink data in a communications channel
between the host and the device. Combination of the endpoint number and the endpoint direction specifies
endpoint address.
The channel between the host and an endpoint at a specific device represents a data pipe. Endpoint 0 for a
device is always a control type data channel used for device discovery and enumeration. Other types of
endpoints are supported by USB include bulk, interrupt, and isochronous. Each endpoint type has specific
behavior related to packet response and error managing. Find more detail on endpoint operation in the USB
2.0 specification.
The USB OTG supports up to four endpoint specified numbers. The DCD can enable, disable, and
configure each endpoint.
Each endpoint direction is essentially independent and can have differing behavior in each direction. For
example, the DCD can configure endpoint 1-IN to be a bulk endpoint and endpoint 1-OUT to be an
isochronous endpoint. This helps to conserve the total number of endpoints required for device operation.
The only exception is that control endpoints must use both directions on a single endpoint number to
function as a control endpoint. Endpoint 0, for example, is always a control endpoint and uses both
directions.
Each endpoint direction requires a queue head allocated in memory. If the maximum is four endpoint
numbers (one for each endpoint direction used by the device controller), eight queue heads are required.
The operation of an endpoint and use of queue heads are described later in this document.
10.5.3.3.1
Endpoint Initialization
After hardware reset, all endpoints except endpoint 0 are uninitialized and disabled. The DCD must
configure and enable each endpoint by writing to the appropriate EPCR
n
register. Each EPCR
n
is split into
an upper and lower half. The lower half of EPCR
n
configures the receive or OUT endpoint, and the upper
half configures the corresponding transmit or IN endpoint. Control endpoints must be configured the same
in the upper and lower half of the EPCR
n
register; otherwise, behavior is undefined.
how to construct a configuration word for endpoint initialization.
Table 10-51. Device Controller Endpoint Initialization
Field
Value
Data Toggle Reset (TXR, RXR)
1 Synchronize the data PIDs
Data Toggle Inhibit (TXI, RXI)
0 PID sequencing disabled
Endpoint Type (TXT, RXT)
00 Control
01 Isochronous
10 Bulk
11 Interrupt
Endpoint Stall (TXS, RXS)
0 Not stalled
Summary of Contents for MCF54455
Page 33: ...xxviii Freescale Semiconductor ...
Page 67: ...Freescale Semiconductor 1 ...
Page 125: ...Freescale Semiconductor 1 ...
Page 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Page 173: ...Cache 6 28 Freescale Semiconductor ...
Page 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Page 207: ...Power Management 9 16 Freescale Semiconductor ...
Page 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Page 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Page 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Page 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Page 601: ...Freescale Semiconductor 1 ...
Page 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Page 843: ...Freescale Semiconductor 1 ...
Page 921: ...Revision History A 6 Freescale Semiconductor ...