
MOTOROLA
Chapter 12. Universal Serial Bus (USB)
12-33
Software Architecture and Application Notes
registers and the user is notied of the 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 dened in the DRR2[wLength]. Refer to for more details on
accessing the FIFOs.
3. When the user has nished 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 specications, 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 dened 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 specication
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 notied 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.