![Freescale Semiconductor MCF54455 Reference Manual Download Page 280](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541280.webp)
Universal Serial Bus Interface – On-The-Go Module
Freescale Semiconductor
10-73
In addition to checking the status bit, the DCD must read the transfer bytes field to determine the actual
bytes transferred. When a transfer is complete, the total bytes transferred decrements by the actual bytes
transferred. For transmit packets, a packet is only complete after the actual bytes reaches zero. However,
for receive packets, the host may send fewer bytes in the transfer according the USB variable length packet
protocol.
10.5.3.6.5
Flushing/De-priming an Endpoint
It is necessary for the DCD to flush or de-prime endpoints during a USB device reset or during a broken
control transfer. There may also be application specific requirements to stop transfers in progress. The
DCD can use this procedure to stop a transfer in progress:
1. Set the corresponding bit(s) in the EPFLUSH register.
2. Wait until all bits in the EPFLUSH register are cleared.
NOTE
This operation may take a large amount of time depending on the USB bus
activity. It is not desirable to have this wait loop within an interrupt service
routine.
3. Read the EPSR register to ensure that for all endpoints commanded to be flushed, that the
corresponding bits are now cleared. If the corresponding bits are set after step #2 has finished, flush
failed as described below:
In very rare cases, a packet is in progress to the particular endpoint when commanded to flush using
EPFLUSH. A safeguard is in place to refuse the flush to ensure that the packet in progress
completes successfully. The DCD may need to repeatedly flush any endpoints that fail to flush by
repeating steps 1-3 until each endpoint successfully flushes.
10.5.3.6.6
Device Error Matrix
The following table summarizes packet errors not automatically managed by the USB OTG module.
The device controller manages all errors on bulk/control/interrupt endpoints except for a data buffer
overflow. However, for ISO endpoints, errors packets are not retried and errors are tagged as indicated.
Table 10-58. Device Error Matrix
Error
Direction
Packet
Type
Data Buffer
Error Bit
Transaction
Error Bit
Data Buffer Overflow
RX
Any
1
0
ISO Packet Error
RX
ISO
0
1
ISO Fulfillment Error
Both
ISO
0
1
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 ...