MPC8536E-ANDROID Freescale Semiconductor, MPC8536E-ANDROID Datasheet - Page 1410

no-image

MPC8536E-ANDROID

Manufacturer Part Number
MPC8536E-ANDROID
Description
HARDWARE/SOFTWARE ANDROID OS
Manufacturer
Freescale Semiconductor
Series
PowerQUICC ™r
Type
MPUr

Specifications of MPC8536E-ANDROID

Contents
Board
For Use With/related Products
MPC8536
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Universal Serial Bus Interfaces
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:
21.6.9.2
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. Software deactivates the asynchronous schedule by
setting USBCMD[ASE] to a zero. Software can determine when the list is idle when USBSTS[AS] is
cleared. The normal mode of operation is that software removes queue heads from the asynchronous
schedule without shutting it down. Software must not remove an active queue head from the schedule.
Software should first deactivate all active qTDs, wait for the queue head to go inactive, then remove the
queue head from the asynchronous list. Software removes a queue head from the asynchronous list using
the following algorithm. Software merely must ensure all of the link pointers reachable by the host
controller are kept consistent.
21-76
InsertQueueHead (pQHeadCurrent, pQueueHeadNew)
End InsertQueueHead
UnlinkQueueHead (pQHeadPrevious, pQueueHeadToUnlink, pQHeadNext)
End UnlinkQueueHead
--
-- 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)
--
-- 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
-- software is unlinking a consecutive series of
-- queue heads, QHeadNext must be set by software to
-- the queue head remaining in the schedule.
--
-- This algorithm unlinks a queue head from a circular list
--
pQueueHeadPrevious.HorizontalPointer = pQueueHeadToUnlink.HorizontalPointer
pQueueHeadToUnlink.HorizontalPointer = pQHeadNext
Removing Queue Heads from Asynchronous Schedule
MPC8536E PowerQUICC III Integrated Processor Reference Manual, Rev. 1
Freescale Semiconductor

Related parts for MPC8536E-ANDROID