Universal Serial Bus Interface
MCF5253 Reference Manual, Rev. 1
Freescale Semiconductor
24-81
Activation of the list is simple. The system software writes the physical memory address of a queue head
into the ASYNCLISTADDR register, then enables the list by setting the Asynchronous Schedule Enable
bit in the USBCMD register to a one.
When inserting a queue head into an active list, the software must ensure that the schedule is always
coherent from the host controllers' point of view. This means that the system software must ensure that all
queue head pointer fields are valid. For example qTD pointers have T-Bits set or reference valid qTDs and
the Horizontal Pointer references a valid queue head data structure. The following algorithm represents the
functional requirements:
InsertQueueHead (pQHeadCurrent, pQueueHeadNew)
--
-- Requirement: all inputs must be properly initialized.
--
-- pQHeadCurrent is a pointer to a queue head that is
-- already in the active list
-- pQHeadNew is a pointer to the queue head to be added
--
-- This algorithm links a new queue head into a existing
-- list
--
pQueueHeadNew.HorizontalPointer = pQueueHeadCurrent.HorizontalPointer
pQueueHeadCurrent.HorizontalPointer = physicalAddressOf(pQueueHeadNew)
End InsertQueueHead
24.9.9.2
Removing Queue Heads from Asynchronous Schedule
This is a software requirement section. There are two independent events for removing queue heads from
the asynchronous schedule. The first is shutting down (deactivating) the asynchronous list. The second is
extracting a single queue head from an activated list. The software deactivates the asynchronous schedule
by setting the Asynchronous Schedule Enable bit in the USBCMD register to a zero. The software can
determine when the list is idle when the Asynchronous Schedule Status bit in the USBSTS register is
cleared. The normal mode of operation is that the software removes queue heads from the asynchronous
schedule without shutting it down. The software must not remove an active queue head from the schedule.
The software should first deactivate all active qTDs, wait for the queue head to go inactive, then remove
the queue head from the asynchronous list. The software removes a queue head from the asynchronous list
using the following algorithm. The software merely must ensure all of the link pointers reachable by the
host controller are kept consistent.
UnlinkQueueHead (pQHeadPrevious, pQueueHeadToUnlink, pQHeadNext)
--
-- Requirement: all inputs must be properly initialized.
--
-- pQHeadPrevious is a pointer to a queue head that
-- references the queue head to remove
-- pQHeadToUnlink is a pointer to the queue head to be
-- removed
-- pQheadNext is a pointer to a queue head still in the
-- schedule. Software provides this pointer with the
-- following strict rules:
-- if the host software is one queue head, then
-- pQHeadNext must be the same as
-- QueueheadToUnlink.HorizontalPointer. If the host
Summary of Contents for MCF5253
Page 1: ...Document Number MCF5253RM Rev 1 08 2008 MCF5253 Reference Manual...
Page 26: ...MCF5253 Reference Manual Rev 1 xxvi Freescale Semiconductor...
Page 32: ...MCF5253 Reference Manual Rev 1 xxxii Freescale Semiconductor...
Page 46: ...MCF5253 Introduction MCF5253 Reference Manual Rev 1 1 14 Freescale Semiconductor...
Page 62: ...Signal Description MCF5253 Reference Manual Rev 1 2 16 Freescale Semiconductor...
Page 98: ...Instruction Cache MCF5253 Reference Manual Rev 1 5 10 Freescale Semiconductor...
Page 104: ...Static RAM SRAM MCF5253 Reference Manual Rev 1 6 6 Freescale Semiconductor...
Page 128: ...Synchronous DRAM Controller Module MCF5253 Reference Manual Rev 1 7 24 Freescale Semiconductor...
Page 144: ...Bus Operation MCF5253 Reference Manual Rev 1 8 16 Freescale Semiconductor...
Page 176: ...System Integration Module SIM MCF5253 Reference Manual Rev 1 9 32 Freescale Semiconductor...
Page 198: ...Analog to Digital Converter ADC MCF5253 Reference Manual Rev 1 12 6 Freescale Semiconductor...
Page 246: ...DMA Controller MCF5253 Reference Manual Rev 1 14 18 Freescale Semiconductor...
Page 282: ...UART Modules MCF5253 Reference Manual Rev 1 15 36 Freescale Semiconductor...
Page 344: ...Audio Interface Module AIM MCF5253 Reference Manual Rev 1 17 46 Freescale Semiconductor...
Page 362: ...I2 C Modules MCF5253 Reference Manual Rev 1 18 18 Freescale Semiconductor...
Page 370: ...Boot ROM MCF5253 Reference Manual Rev 1 19 8 Freescale Semiconductor...