Buffer Pointer List Use For Data Streaming With Qtds - Freescale Semiconductor MPC8313E Family Reference Manual

Powerquicc ii pro integrated processor
Hide thumbs Also See for MPC8313E:
Table of Contents

Advertisement

Universal Serial Bus Interface
Queue heads use the Queue Element Transfer Descriptor (qTD) structure defined in
"Queue Element Transfer Descriptor (qTD)."
One queue head is used to manage the data stream for one endpoint. The queue head structure contains
static endpoint characteristics and capabilities. It also contains a working area from where individual bus
transactions for an endpoint are executed. Each qTD represents one or more bus transactions, which is
defined in the context of the EHCI specification as a transfer.
The general processing model for the host controller's use of a queue head is simple:
Read a queue head,
Execute a transaction from the overlay area,
Write back the results of the transaction to the overlay area
Move to the next queue head.
If the host controller encounters errors during a transaction, the host controller will set one of the error
reporting bits in the queue head's Status field. The Status field accumulates all errors encountered during
the execution of a qTD (that is, the error bits in the queue head Status field are sticky until the transfer
(qTD) has completed). This state is always written back to the source qTD when the transfer is complete.
On transfer (for example, buffer or halt conditions) boundaries, the host controller must auto-advance
(without software intervention) to the next qTD. Additionally, the hardware must be able to halt the queue
so no additional bus transactions will occur for the endpoint and the host controller will not advance the
queue.

16.6.10.1 Buffer Pointer List Use for Data Streaming with qTDs

A qTD has an array of buffer pointers, which is used to reference the data buffer for a transfer. The EHCI
specification requires that the buffer associated with the transfer be virtually contiguous. This means that
if the buffer spans more than one physical page, it must obey the following rules:
The first portion of the buffer must begin at some offset in a page and extend through the end of
the page.
The remaining buffer cannot be allocated in small chunks scattered around memory. For each 4K
chunk beyond the first page, each buffer portion matches to a full 4K page. The final portion, which
may only be large enough to occupy a portion of a page, must start at the top of the page and be
contiguous within that page.
MPC8313E PowerQUICC II Pro Integrated Processor Family Reference Manual, Rev. 3
16-88
Section 16.5.5,
Freescale Semiconductor

Advertisement

Table of Contents
loading

This manual is also suitable for:

Mpc8313

Table of Contents