Endpoint Initialization - Freescale Semiconductor MPC8313E Family Reference Manual

Powerquicc ii pro integrated processor
Hide thumbs Also See for MPC8313E:
Table of Contents

Advertisement

between the host and the device. The endpoint address is specified by the combination of the endpoint
number and the endpoint direction.
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 support by USB include bulk, interrupt, and isochronous. Each endpoint type has specific
behavior related to packet response and error handling. More detail on endpoint operation can be found in
the USB 2.0 specification.
The USB_DR supports up to three endpoint specified numbers. The DCD can enable, disable, and
configure each endpoint.
Each endpoint direction is essentially independent and can be configured with 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
the pair of directions.
Each endpoint direction requires a queue head allocated in memory. If the maximum of 6 endpoint
numbers, one for each endpoint direction are being used by the device controller, then 12 queue heads are
required. The operation of an endpoint and use of queue heads are described later in this document.
16.8.3.1

Endpoint Initialization

After hardware reset, all endpoints except endpoint zero are uninitialized and disabled. The DCD must
configure and enable each endpoint by writing to configuration bit in the ENDPTCTRLn register. Each
32-bit ENDPTCTRLn is split into an upper and lower half. The lower half of ENDPTCTRLn is used to
configure the receive or OUT endpoint and the upper half is likewise used to configure the corresponding
transmit or IN endpoint. Control endpoints must be configured the same in both the upper and lower half
of the ENDPTCTRLn register otherwise the behavior is undefined.
configuration word for endpoint initialization.
16.8.3.1.1
Stalling
There are two occasions where the USB_DR may need to return to the host a STALL.
MPC8313E PowerQUICC II Pro Integrated Processor Family Reference Manual, Rev. 3
Freescale Semiconductor
Table 16-84. Device Controller Endpoint Initialization
Field
Data Toggle Reset
Data Toggle Inhibit
Endpoint Type
Endpoint Stall
Table 16-84
Value
1
0
00 Control
01 Isochronous
10 Bulk
11 Interrupt
0
Universal Serial Bus Interface
shows how to construct a
16-137

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc8313

Table of Contents