Universal Serial Bus (USB)
MCF5272 ColdFire Integrated Microprocessor User’s Manual, Rev. 3
Freescale Semiconductor
12-35
request with the VEND_REQ interrupt. The user must take the following step to process a class or vendor
request:
1. Read DRR1 and DRR2 to determine the request type.
2. If the request has a data stage, the EP0 FIFO should be read or written with the number of bytes as
defined in the DRR2[wLength]. Refer to for more details on accessing the FIFOs.
3. When the user has finished processing the request, EP0CTL[CMD_OVER] must be set to signal
completion of the request. [CMD_ERR] must also be set simultaneously if an error was
encountered while processing the request.
12.4.6
REMOTE WAKEUP
and RESUME Operation
The MCF5272 supports USB RESUME initiated from three different sources. Two of the sources are for
remote wakeup capability. The three different resume mechanisms are listed below:
The user sets EP0CTL[RESUME]. The USB module responds to this only if the USB is in the
suspended state and EP0SR[WAKE_ST] is set. The ColdFire core must be running to write
E0PCTL. To meet USB timing specifications, the RESUME bit must not be set until two
milliseconds have elapsed since the USB module entered suspend state.
The wake-on-ring INT1 interrupt pin is at the active level defined in EP0CTL. The USB module
responds to the INT1 pin only if the wake-on-ring function is enabled, the USB is in the suspended
state and EP0SR[WAKE_ST] is set. The ColdFire core may be powered down, and the resume
signaling wakes up the ColdFire core. The wake-on-ring function must not be enabled until two
milliseconds have elapsed since the USB module entered the suspend state in order to meet USB
specification timing requirements.
The USB module detects any activity on the USB, which may be normal bus activity, resume
signaling, or reset signaling. The ColdFire core may be powered down, and the resume signaling
wakes up the ColdFire core.
12.4.7
Endpoint Halt Feature
USB has the ability to halt endpoints due to errors. The user is notified when an endpoint is halted and
when the halt is cleared. When an endpoint is halted, the user should abort the current transfer and
reinitialize the FIFO for the endpoint. An endpoint can be halted for a variety of reasons.
SET
_FEATURE request with the endpoint halt feature selector set.
EPnCTL[STALL] is set by the user. This bit should be set only when there is a critical error on the
endpoint.
On control endpoints, an error processing a request.
A halted endpoint can be cleared in several different ways:
CLEAR
_FEATURE request with the endpoint halt feature selector set.
A USB reset signal.
A SET_CONFIGURATION or SET_INTERFACE request.
On control endpoints, a SETUP token for the next request.