Philips Semiconductors
Volume 1
14.10.2 DMA_mode
Defines in which mode the DMA has to operate. Two modes have been defined, Normal
and ATLE. In the normal mode the DMA engine will not split a packet into two different
DMA buffers. In the ATLE mode splitting of the packet into two buffers can happen. This is
because two transfers can be concatenated in the packet to improve the bandwidth. See
Section 14.13 "Concatenated transfer (ATLE) mode operation" on page 236
details.
14.10.3 Next_DD_valid
This bit indicates whether the software has prepared the next DMA descriptor. If it is valid,
the DMA engine once finished with the current descriptor will load the new descriptor.
14.10.4 Isochronous_endpoint
The descriptor belongs to an isochronous endpoint. Hence, 5 words have to be read.
14.10.5 Max_packet_size
The maximum packet size of the endpoint. This parameter has to be used while
transferring the data for IN endpoints from the memory. It is used for OUT endpoints to
detect the short packet. This is applicable to non-isochronous endpoints only. The
max_packet_size field should be the same as the value set in the MaxPacketSize register
for the endpoint.
14.10.6 DMA_buffer_length
This indicates the depth of the DMA buffer allocated for transferring the data. The DMA
engine will stop using this descriptor when this limit is reached and will look for the next
descriptor. This will be set by the software in the normal mode operation for both IN and
OUT endpoints.In the ATLE mode operation the buffer_length is set by software for IN
endpoints. For OUT endpoints this is set by the hardware from the extracted length of the
data stream. In case of the Isochronous endpoints the DMA_buffer_length is specified in
terms of number of packets.
14.10.7 DMA_buffer_start_addr
The address from where the data has to be picked up or to be stored. This field is updated
packet-wise by DMA engine.
14.10.8 DD_retired
This bit is set when the DMA engine finishes the current descriptor. This will happen when
the end of the buffer is reached or a short packet is transferred (no isochronous endpoints)
or an error condition is detected.
14.10.9 DD_status
The status of the DMA transfer is encoded in this field. The following status are defined:
9397 750 XXXXX
User manual
•
Not serviced - No packet has been transferred yet. DD is in the initial position itself.
•
Being serviced - This status indicates that at least one packet is transferred.
Rev. 01 — 15 August 2005
UM10139
Chapter 14: USB Device Controller
© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
for more
232