Information

Universal Serial Bus Interface
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
13-128 Freescale Semiconductor
Table 13-79 describes the next dTD token fields.
Table 13-80Table 13-82 the buffer pointer page n fields.
Table 13-79. dTD Token
Bits Description
31 Reserved, should be cleared. Bit reserved for future use and should be cleared.
30–16 Total Bytes. This field specifies the total number of bytes to be moved with this transfer descriptor. This field is
decremented by the number of bytes actually moved during the transaction and only on the successful completion of
the transaction.
The maximum value software may store in the field is 5*4K(5000H). This is the maximum number of bytes 5 page
pointers can access. Although it is possible to create a transfer up to 20K this assumes the 1st offset into the first page
is 0. When the offset cannot be predetermined, crossing past the 5th page can be guaranteed by limiting the total bytes
to 16K**. Therefore, the maximum recommended transfer is 16K(4000H).
If the value of the field is zero when the host controller fetches this transfer descriptor (and the active bit is set), the
device controller executes a zero-length transaction and retires the transfer descriptor.
It is not a requirement for IN transfers that Total Bytes To Transfer be an even multiple of Maximum Packet Length. If
software builds such a transfer descriptor for an IN transfer, the last transaction will always be less that Maximum
Packet Length.
15 Interrupt On Complete (IOC). This bit is used to indicate if USBINT is to be set in response to device controller being
finished with this dTD.
14–12 Reserved, should be cleared. Bits reserved for future use and should be cleared.
11–10 Multiplier Override (MultO). This field can be used for transmit ISO's (that is, ISO-IN) to override the multiplier in the
QH. This field must be zero for all packet types that are not transmit-ISO.
Example:
if QH.multiplier = 3; Maximum packet size = 8; Total bytes = 15; MultiO = 0 [default]
Three packets are sent: {Data2(8); Data1(7); Data0(0)}
if QH.multiplier = 3; Maximum packet size = 8; Total bytes = 15; MultiO = 2
Two packets are sent: {Data1(8); Data0(7)}
For maximal efficiency, software should compute MultO = greatest integer of (Total Bytes/Max. Packet Size) except for
the case when Total bytes = 0; then MultO should be 1.
Note: Non-ISO and non-TX endpoints must set MultO = 00.
9–8 Reserved, should be cleared. Bits reserved for future use and should be cleared.
7–0 Status. This field is used by the Device Controller to communicate individual command execution states back to the
Device Controller software. This field contains the status of the last transaction performed on this qTD. The bit
encodings are:
BitStatus Field Description
7 Active
6Halted
5 Data Buffer Error
3 Transaction Error
4,2,0Reserved, should be cleared
Table 13-80. Buffer Pointer Page 0
Bits Description
31–12 Buffer Pointer. Selects the page offset in memory for the packet buffer. Non virtual memory systems will typically set
the buffer pointers to a series of incrementing integers.
11–0 Current Offset. Offset into the 4kb buffer where the packet is to begin.