Addendum List for Revision 7.1
MPC5607B Reference Manual Errata, Rev. 1
Freescale Semiconductor
3
Chapter 16, Enhanced Direct
Memory Access (eDMA),
page 330
Replace
Section 16.5.8, Dynamic programming,
with the following:
16.5.8
Dynamic programming
16.5.8.1
Dynamic channel linking
Dynamic channel linking is the process of setting the TCD.major.e_link 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 channel link by enabling the TCD.major.e_link bit at the
same time the eDMA engine is retiring the channel. The TCD.major.e_link
would be set in the programmer’s model, but it would be unclear whether the
actual link was made before the channel retired.
The coherency model in
Table 16-24
is recommended when executing a
dynamic channel link request.
For this request, the TCD local memory controller forces the TCD.major.e_link
bit to zero on any writes to a channel’s TCD.word7 after 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 bit. The TCD.done
bit is cleared automatically by the eDMA engine
after a channel begins execution.
Table 1. MPC5607BRM Rev 7.1 Addenda (continued)
Location
Description
Table 16-24. Coherency model for a dynamic channel link request
Step
Action
1
Write 1b to the TCD.major.e_link bit.
2
Read back the TCD.major.e_link bit.
3
Test the TCD.major.e_link request status:
• If TCD.major.e_link = 1b, the dynamic link attempt was successful.
• If TCD.major.e_link = 0b, the attempted dynamic link did not succeed (the channel
was already retiring).