Texas Instruments TMS320DM357 User Manual

Page of 144
3.3.2.3
Receive DMA State
USB Controller Host and Peripheral Modes Operation
www.ti.com
Table 13. Receive Buffer Descriptor Word 3
Bit
Field
Value Description
31
SOP
Start of Packet: SOP Indicates that the descriptor buffer is the first buffer in the packet. Software
should clear the SOP bit when setting up the descriptor.
0
Not start of packet buffer
1
Start of packet buffer
30
EOP
End of Packet: EOP Indicates that the descriptor buffer is the last buffer in the packet. Software
should clear the EOP bit when setting up the descriptor.
0
Not end of packet buffer
1
End of packet buffer
29
Ownership
The Ownership bit indicates ownership of the DMA packet and is valid only on SOP. This bit is
set by the software and cleared by the DMA controller when the packet has been transmitted.
The software can use this bit to reclaim buffers.
0
The packet is owned by the host processor.
1
The packet is owned by the DMA controller.
28
EOQ
End of Queue: The End of Queue bit is set by the DMA controller to indicate that all packets in
the queue have been transmitted and the Tx queue is empty. This bit is valid only on when EOP
is set. Software should clear this bit when setting up the descriptor.
0
The Tx queue has more packets to transfer.
1
The DMA controller took this descriptor buffer as the last buffer descriptor in the last packet in
the queue.
27:24
Reserved
Reserved
23
Zero Byte
Zero Byte Packet Identifier. This bit is set by the DMA controller when a zero byte USB packet
has been received. Software should ignore the Packet Length when this bit is set.
22:16
Reserved
Reserved
15:0
Packet Length
The length of the DMA packet in bytes. This field is valid only on SOP and is written by the DMA
controller. If the Packet Length is less than the sum of the buffer lengths, then the packet data
will be truncated. Software should ignore the Packet Length when Zero Byte is set.
Four different cases are possible for the number of buffers in a DMA packet:
1. Buffer Descriptor contains Start of Packet field and End of Packet field (1 buffer in DMA packet)
2. Buffer Descriptor contains Start of Packet field only (2+ buffers in DMA packet)
3. Buffer Descriptor contains End of Packet field only (2+ buffers in DMA packet)
4. Buffer Descriptor does not contain either of Start of Packet field and End of Packet field (3+ buffers in
packet)
The DMA controller stores and maintains state information for each receive channel. The state information
is referred to as the Rx DMA State. The Rx DMA State is a combination of control fields and DMA
controller specific scratchpad space used to manipulate data structures and receive DMA packets. The Rx
DMA State is stored in registers RCPPIDMASTATEW0, RCPPIDMASTATEW1, RCPPIDMASTATEW2,
RCPPIDMASTATEW3, RCPPIDMASTATEW4, RCPPIDMASTATEW5, RCPPIDMASTATEW6 and
RCPPICOMPPTR for each channel.
Each channel has one receive queue that has a head descriptor pointer and one completion pointer.
The following information is stored in the Tx DMA State:
RCPPIDMASTATEW0: Rx Queue Head Descriptor Pointer
RCPPICOMPPTR: Rx Completion Pointer
RCPPIDMASTATEW2: Start of Packet Buffer Descriptor Pointer
RCPPIDMASTATEW3: Current Buffer Descriptor Pointer
RCPPIDMASTATEW4: Current Buffer Pointer
RCPPIDMASTATEW5: Remaining DMA Packet Length and Actual DMA Packet Length
Universal Serial Bus (USB) Controller
64
SPRUGH3 – November 2008