Intel® PXA255 Processor Developer’s Manual 5-7
DMA Controller
a. Word [0] -> DDADRx register and a single flag bit. Points to the next four-word
descriptor.
b. Word [1] -> DSADRx register for the current transfer.
c. Word [2] -> DTADRx register for the current t ransfer.
d. Word [3] -> DCMDx register for the curr ent transfer.
6. T he channel waits for the request or starts the data transfer, as determined by the
DCMD[FLOW] source and target bits.
7. T he channel transmits a number of bytes equal to the smaller of DCMD[SIZE] and
DCMD[LENGTH].
8. T he channel waits for the next request or continues with the data transfer until the
DCMD[LENGTH] reaches zero.
9. T he channel stops or continues with a new descriptor fetch fr om th e memor y, as determined by
the DDADR[STOP] bit.
Bit [0] (STOP) of Word [0] in a DMA descriptor (the low bit of t he DDADRx field) marks the
descriptor at the end of a descriptor list. The value of the STOP bit does not affect the manner in
which the channel’s registers load the descriptor’s fields. If a descriptor with its STOP bit set is
loaded into a channel's registers, the channel stops after it completely transfers the data that
pertains to that descriptor. Figure5-4 summarizes this operation.
Software must set the DCSR[RUN] bit to 1 aft er it l oad s the DDA DR. The chan nel des cr ipt or fe tc h
does not take place unless the DDADR register is loaded and the DCSR[RUN] bit is set to a1.
The DMAC priority scheme does not af fec t DMA des cr ip tor f etche s. Th e nex t de sc riptor is fetc he d
immediately after the previous descriptor is serviced.