Addendum List for Revision 7.1
MPC5607B Reference Manual Errata, Rev. 1
Freescale Semiconductor
4
Chapter 16, Enhanced Direct
Memory Access (eDMA),
page 330 (cont.)
16.5.8.2
Dynamic scatter/gather
Dynamic scatter/gather is the process of setting the TCD.e_sg bit during
channel execution. This bit is read from the TCD local memory at the end of
channel execution, thus allowing the user to enable the feature during channel
execution.
Because the user is allowed to change the configuration during execution, a
coherency model is needed. Consider the scenario where the user attempts to
execute a dynamic scatter/gather operation by enabling the TCD.e_sg bit at the
same time the eDMA engine is retiring the channel. The TCD.e_sg would be
set in the programmer’s model, but it would be unclear whether the actual
scatter/gather request was honored before the channel retired.
Two methods for this coherency model are shown in the following subsections.
Method 1 has the advantage of reading the major.linkch field and the e_sg bit
with a single read. For both dynamic channel linking and scatter/gather
requests, the TCD local memory controller forces the TCD.major.e_link and
TCD.e_sg bits to zero on any writes to a channel’s TCD.word7 if that channel’s
TCD.done bit is set indicating the major loop is complete.
NOTE
The user must clear the TCD.done bit before
writing the TCD.major.e_link or TCD.e_sg bits.
The TCD.done bit is cleared automatically by the
eDMA engine after a channel begins execution.
16.5.8.2.1
Method 1 (channel not using major loop channel
linking)
For a channel not using major loop channel linking, the coherency model in
Table 16-25
may be used for a dynamic scatter/gather request.
When the TCD.major.e_link bit is zero, the TCD.major.linkch field is not used
by the eDMA. In this case, the TCD.major.linkch bits may be used for other
purposes. This method uses the TCD.major.linkch field as a TCD identification
(ID).
Table 1. MPC5607BRM Rev 7.1 Addenda (continued)
Location
Description