KeyStone EDMA3 Controller
KeyStone EDMA3 Controller
KeyStone EDMA3 Controller
User's Guide
Preface....................................................................................................................................... 12
1 Introduction ....................................................................................................................... 15
1.1 Overview..................................................................................................................... 16
1.2 Features ..................................................................................................................... 16
1.3 Terminology Used in This Document .................................................................................... 17
2 EDMA3 Architecture ........................................................................................................... 20
2.1 Functional Overview ....................................................................................................... 21
2.1.1 EDMA3 Controller Block Diagram............................................................................... 21
2.1.2 EDMA3 Channel Controller (EDMA3CC) ...................................................................... 22
2.1.3 EDMA3 Transfer Controller (EDMA3TC) ....................................................................... 24
2.2 Types of EDMA3 Transfers ............................................................................................... 25
2.2.1 A-Synchronized Transfers........................................................................................ 26
2.2.2 AB-Synchronized Transfers ...................................................................................... 27
2.3 Parameter RAM (PaRAM) ................................................................................................ 27
2.3.1 PaRAM Set ......................................................................................................... 28
2.3.2 EDMA3 Channel PaRAM Set Entry Fields..................................................................... 30
2.3.2.1 Channel Options Parameter (OPT) ....................................................................... 30
2.3.2.2 Channel Source Address (SRC) .......................................................................... 32
2.3.2.3 Channel Destination Address (DST) ..................................................................... 32
2.3.2.4 Count for 1st Dimension (ACNT) ......................................................................... 32
2.3.2.5 Count for 2nd Dimension (BCNT)......................................................................... 32
2.3.2.6 Count for 3rd Dimension (CCNT) ......................................................................... 32
2.3.2.7 BCNT Reload (BCNTRLD) ................................................................................ 32
2.3.2.8 Source B Index (SRCBIDX) ............................................................................... 33
2.3.2.9 Destination B Index (DSTBIDX) ........................................................................... 33
2.3.2.10 Source C Index (SRCCIDX) ............................................................................... 33
2.3.2.11 Destination C Index (DSTCIDX) .......................................................................... 33
2.3.2.12 Link Address (LINK) ........................................................................................ 33
2.3.3 Null PaRAM Set ................................................................................................... 34
2.3.4 Dummy PaRAM Set............................................................................................... 34
2.3.5 Dummy Versus Null Transfer Comparison ..................................................................... 34
2.3.6 Parameter Set Updates .......................................................................................... 34
2.3.7 Linking Transfers .................................................................................................. 36
2.3.8 Constant Addressing Mode Transfers/Alignment Issues..................................................... 38
2.3.9 Element Size ....................................................................................................... 39
2.4 Initiating a DMA Transfer .................................................................................................. 39
2.4.1 DMA Channel ...................................................................................................... 39
2.4.1.1 Event-Triggered Transfer Request ....................................................................... 39
2.4.1.2 Manually-Triggered Transfer Request.................................................................... 40
2.4.1.3 Chain-Triggered Transfer Request ....................................................................... 40
2.4.2 QDMA Channels .................................................................................................. 41
2.4.2.1 Auto-triggered and Link-Triggered Transfer Request .................................................. 41
2.4.3 Comparison Between DMA and QDMA Channels ............................................................ 41
2.5 Completion of a DMA Transfer ........................................................................................... 42
2.5.1 Normal Completion ................................................................................................ 42
List of Figures
2-1. EDMA3 Controller Block Diagram........................................................................................ 21
2-2. EDMA3 Channel Controller (EDMA3CC) Block Diagram ............................................................. 23
2-3. EDMA3 Transfer Controller (EDMA3TC) Block Diagram ............................................................. 25
2-4. Definition of ACNT, BCNT, and CCNT .................................................................................. 26
2-5. A-Synchronized Transfers (ACNT = n, BCNT = 4, CCNT = 3)....................................................... 26
2-6. AB-Synchronized Transfers (ACNT = n, BCNT = 4, CCNT = 3) ..................................................... 27
2-7. PaRAM Set .................................................................................................................. 29
2-8. Channel Options Parameter (OPT) ...................................................................................... 30
2-9. Linked Transfer Example .................................................................................................. 37
2-10. Link-to-Self Transfer Example ............................................................................................ 38
2-11. DMA/QDMA Channel to PaRAM Mapping .............................................................................. 44
2-12. Shadow Region Registers ................................................................................................ 46
2-13. Interrupt Diagram ........................................................................................................... 50
2-14. Error Interrupt Operation .................................................................................................. 53
2-15. PaRAM Set Content for Proxied Memory Protection Example ....................................................... 56
2-16. Proxied Memory Protection Example .................................................................................... 57
2-17. EDMA3 Prioritization ....................................................................................................... 64
3-1. Block Move Example ...................................................................................................... 68
3-2. Block Move Example PaRAM Configuration............................................................................ 69
3-3. Subframe Extraction Example ............................................................................................ 70
3-4. Subframe Extraction Example PaRAM Configuration ................................................................. 71
3-5. Data Sorting Example ..................................................................................................... 72
3-6. Data Sorting Example PaRAM Configuration .......................................................................... 73
3-7. Servicing Incoming Non-bursting Peripheral Data Example .......................................................... 74
3-8. Servicing Incoming Non-bursting Peripheral Data Example PaRAM Configuration ............................... 75
3-9. Servicing Peripheral Burst Example ..................................................................................... 76
3-10. Servicing Peripheral Burst Example PaRAM Configuration .......................................................... 77
3-11. Servicing Continuous Non-bursting Peripheral Data Example ....................................................... 78
3-12. Servicing Continuous Non-bursting Peripheral Data Example PaRAM Configuration ........................... 79
3-13. Servicing Continuous Non-bursting Peripheral Data Example Reload PaRAM Configuration ................... 80
3-14. Ping-Pong Buffering for Non-bursting Peripheral Data Example .................................................... 82
3-15. Ping-Pong Buffering for Non-bursting Peripheral Example PaRAM Configuration ............................... 83
3-16. Ping-Pong Buffering for Non-bursting Peripheral Example Pong PaRAM Configuration ........................ 84
3-17. Ping-Pong Buffering for Non-bursting Peripheral Example Ping PaRAM Configuration ......................... 84
3-18. Intermediate Transfer Completion Chaining Example ................................................................. 86
3-19. Single Large Block Transfer Example ................................................................................... 86
3-20. Smaller Packet Data Transfers Example................................................................................ 87
4-1. Peripheral ID Register (PID) .............................................................................................. 94
4-2. EDMA3CC Configuration Register (CCCFG) ........................................................................... 95
4-3. DMA Channel Map n Registers (DCHMAP n) .......................................................................... 97
4-4. QDMA Channel Map n Registers (QCHMAP n) ....................................................................... 98
4-5. DMA Channel Queue n Number Registers (DMAQNUM n) .......................................................... 99
4-6. QDMA Channel Queue Number Register (QDMAQNUM) .......................................................... 100
4-7. Queue-to-TC Mapping Register (QUETCMAP) ....................................................................... 101
4-8. Queue Priority Register (QUEPRI) ..................................................................................... 102
4-9. Event Missed Register (EMR)........................................................................................... 103
4-10. Event Missed Register High (EMRH) .................................................................................. 103
List of Tables
2-1. EDMA3 Parameter RAM Contents ...................................................................................... 28
2-2. EDMA3 Channel Parameter Description ............................................................................... 29
2-3. Channel Options Parameters (OPT) Field Descriptions .............................................................. 30
2-4. Dummy and Null Transfer Request ...................................................................................... 34
2-5. Parameter Updates in EDMA3CC (for Non-Null, Non-Dummy PaRAM Set) ...................................... 35
2-6. Expected Number of Transfers for Non-Null Transfer ................................................................. 42
2-7. Shadow Region Registers ................................................................................................ 45
2-8. Chain Event Triggers ...................................................................................................... 48
2-9. EDMA3 Transfer Completion Interrupts ................................................................................. 48
2-10. EDMA3 Error Interrupts ................................................................................................... 48
2-11. Number of Interrupts ....................................................................................................... 49
2-12. Allowed Accesses .......................................................................................................... 54
2-13. MPPA Registers to Region Assignment ................................................................................. 54
2-14. Example Access Denied .................................................................................................. 55
2-15. Example Access Allowed.................................................................................................. 55
2-16. Read/Write Command Optimization Rules.............................................................................. 60
4-1. EDMA3 Channel Controller (EDMA3CC) Registers .................................................................. 90
4-2. Peripheral ID Register (PID) Field Descriptions ........................................................................ 94
4-3. EDMA3CC Configuration Register (CCCFG) Field Descriptions .................................................... 95
4-4. DMA Channel Map n Registers (DCHMAP n) Field Descriptions ................................................... 97
4-5. QDMA Channel Map n Registers (QCHMAP n) Field Descriptions ................................................. 98
4-6. DMA Channel Queue n Number Registers (DMAQNUM n) Field Descriptions .................................... 99
4-7. Bits in DMAQNUM n ...................................................................................................... 99
4-8. QDMA Channel Queue Number Register (QDMAQNUM) Field Descriptions .................................... 100
4-9. Queue-to-TC Mapping Register (QUETCMAP) Field Descriptions ................................................ 101
4-10. Queue Priority Register (QUEPRI) Field Descriptions .............................................................. 102
4-11. Event Missed Register (EMR) Field Descriptions .................................................................... 103
4-12. Event Missed Register High (EMRH) Field Descriptions ............................................................ 103
4-13. Event Missed Clear Register (EMCR) Field Descriptions ........................................................... 104
4-14. Event Missed Clear Register High (EMCRH) Field Descriptions ................................................... 104
4-15. QDMA Event Missed Register (QEMR) Field Descriptions ........................................................ 105
4-16. QDMA Event Missed Clear Register (QEMCR) Field Descriptions ............................................... 106
4-17. EDMA3CC Error Register (CCERR) Field Descriptions ............................................................ 107
4-18. EDMA3CC Error Clear Register (CCERRCLR) Field Descriptions ............................................... 108
4-19. Error Evaluation Register (EEVAL) Field Descriptions .............................................................. 109
4-20. DMA Region Access Enable Registers for Region M (DRAE m/DRAEH m) Field Descriptions ............... 110
4-21. QDMA Region Access Enable for Region M (QRAE m) Field Descriptions ...................................... 111
4-22. Event Queue Entry Registers (Q xE y) Field Descriptions .......................................................... 112
4-23. Queue Status Register n (QSTAT n) Field Descriptions ............................................................ 113
4-24. Queue Watermark Threshold A Register (QWMTHRA) Field Descriptions ...................................... 114
4-25. EDMA3CC Status Register (CCSTAT) Field Descriptions ......................................................... 115
4-26. Memory Protection Fault Address Register (MPFAR) Field Descriptions ......................................... 117
4-27. Memory Protection Fault Status Register (MPFSR) Field Descriptions .......................................... 118
4-28. Memory Protection Fault Command Register (MPFCR) Field Descriptions ...................................... 119
4-29. Memory Protection Page Attribute Register (MPPAG/MPPA n) Field Descriptions ............................. 120
4-30. Event Register (ER) Field Descriptions ................................................................................ 121
4-31. Event Register High (ERH) Field Descriptions........................................................................ 122
4-81. Source Active Count Reload Register (SACNTRLD) Field Descriptions .......................................... 162
4-82. Source Active Source Address B-Reference Register (SASRCBREF) Field Descriptions ..................... 163
4-83. Source Active Destination Address B-Reference Register (SADSTBREF) Field Descriptions ................. 164
4-84. Destination FIFO Options Register (DFOPT n) Field Descriptions ................................................ 165
4-85. Destination FIFO Source Address Register (DFSRC n) Field Descriptions ...................................... 166
4-86. Destination FIFO Count Register (DFCNT n) Field Descriptions ................................................... 167
4-87. Destination FIFO Destination Address Register (DFDSTn) Field Descriptions................................... 168
4-88. Destination FIFO B-Index Register (DFBIDX n) Field Descriptions ................................................ 169
4-89. Destination FIFO Memory Protection Proxy Register (DFMPPRXY n) Field Descriptions...................... 170
4-90. Destination FIFO Count Reload Register (DFCNTRLD n) Field Descriptions .................................... 171
4-91. Destination FIFO Source Address B-Reference Register (DFSRCBREF n) Field Descriptions ............... 172
4-92. Destination FIFO Destination Address B-Reference Register (DFDSTBREF n) Field Descriptions ........... 173
A-1. Debug List ................................................................................................................. 176
Preface
Notational Conventions
This document uses the following conventions:
• Commands and keywords are in boldface font.
• Arguments for which you supply values are in italic font.
• Terminal sessions and information the system displays are in screen font.
• Information you must enter is in boldface screen font.
• Elements in square brackets ([ ]) are optional.
Notes use the following conventions:
NOTE: Means reader take note. Notes contain helpful suggestions or references to material not
covered in the publication.
The information in a caution or a warning is provided for your protection. Please read each caution and
warning carefully.
CAUTION
Indicates the possibility of service interruption if precautions are not taken.
WARNING
Indicates the possibility of damage to equipment if precautions are
not taken.
Introduction
1.1 Overview
The enhanced direct memory access (EDMA3) controller’s primary purpose is to service data transfers
that you program between two memory-mapped slave endpoints on the device.
Typical usage includes, but is not limited to the following:
• Servicing software-driven paging transfers (e.g., transfers from external memory, such as SDRAM to
internal device memory, such as DSP L2 SRAM)
• Servicing event-driven peripherals, such as a serial port
• Performing sorting or sub-frame extraction of various data structures
• Offloading data transfers from the main device DSP(s)
• See the device-specific data manual for specific peripherals that are accessible via the EDMA3
controller
The EDMA3 controller consists of two principle blocks:
• EDMA3 channel controller(s): EDMA3_CC m
• EDMA3 transfer controller(s): EDMA3_ m_TC n
Devices can have multiple instances of EDMA3 channel controllers, each associated with multiple EDMA3
transfer controllers. Here ‘m’ indicates the EDMA3CC instance number and ‘n’ indicates the EDMA3TC
number. Refer to the device-specific data manual for the number of EDMA3CCs and EDMA3TCs available
in the device.
The EDMA3 channel controller serves as the user interface for the EDMA3 controller. The EDMA3CC
includes parameter RAM (PaRAM), channel control registers, and interrupt control registers. The
EDMA3CC serves to prioritize incoming software requests or events from peripherals and submits transfer
requests (TR) to the EDMA3 transfer controller.
The EDMA3 transfer controllers are responsible for data movement. The transfer request packets (TRP)
submitted by the EDMA3CC contain the transfer context, based on which the transfer controller issues
read/write commands to the source and destination addresses programmed for a given transfer.
1.2 Features
The EDMA3 channel controller (EDMA3CC) has the following features:
• Fully orthogonal transfer description
– 3 transfer dimensions
– A-synchronized transfers: 1 dimension serviced per event
– AB-synchronized transfers: 2 dimensions serviced per event
– Independent indexes on source and destination
– Chaining feature allows a 3-D transfer based on a single event
• Flexible transfer definition
– Increment or constant addressing modes
– Linking mechanism allows automatic PaRAM set update
– Chaining allows multiple transfers to execute with one event
• Interrupt generation for the following:
– Transfer completion
– Error conditions
• Debug visibility
– Queue water marking/threshold
– Error and status recording to facilitate debug
• Multiple DMA channels. Refer to the device-specific data manual for the number of DMA channels
available per EDMA3CC
– Event synchronization
Term Meaning
A-synchronized transfer A transfer type where one dimension is serviced per synchronization event.
AB-synchronized transfer A transfer type where two dimensions are serviced per synchronization event.
Chaining A trigger mechanism in which a transfer can be initiated at the completion of another transfer or sub-
transfer.
DMA channel A channel that can be triggered by external, manual, and chained events. All DMA channels exist in the
EDMA3CC.
DSP(s) Digital signal processor. This is the main processing engine or engines on a device. See the device-
specific data manual to learn more about the DSP on your system.
Dummy set or dummy A PaRAM set for which at least one of the count fields is equal to 0 and at least one of the count fields
PaRAM set is nonzero. All of the count fields are cleared in a null PaRAM set.
Dummy transfer A dummy set results in the EDMA3CC performing a dummy transfer. This is not an error condition. A
null set results in an error condition.
EDMA3 channel The EDMA3CC is the portion of the EDMA3 that you program. The EDMA3CC contains the parameter
controller(s) (EDMA3CC) RAM (PaRAM), event processing logic, DMA/QDMA channels, and event queues. The EDMA3CC
service events (external, manual, chained, and QDMA) and is responsible for submitting transfer
requests to the transfer controllers (EDMA3TC) that perform the actual transfer.
EDMA3 programmer Any entity on the chip that has read/write access to the EDMA3 registers and can program an EDMA3
transfer.
EDMA3 transfer Transfer controllers are the transfer engines for the EDMA3 controller. They perform the read/writes, as
controller(s) (EDMA3TC) dictated by the EDMA3CC's transfer requests.
Enhanced direct memory EDMA3 consists of the EDMA3 channel controller(s) (EDMA3CC) and the EDMA3 transfer controller(s)
access (EDMA3) (EDMA3TC), referred to as EDMA3 in this document.
controller
ITCCHEN Intermediate transfer completion chaining enable.
Term Meaning
ITCINTEN Intermediate transfer completion interrupt enable.
Link parameter set A PaRAM set that is used for linking.
Linking The mechanism of reloading a PaRAM set with new transfer characteristics on completion of the
current transfer.
Memory-mapped slaves All on-chip memories, off-chip memories, and slave peripherals. These typically rely on the EDMA3 (or
other master peripheral) to perform transfers to and from them.
Master peripherals All peripherals that are capable of initiating read and write transfers to the system that may not solely
rely on the EDMA3 for their data transfers.
Null set or null PaRAM A PaRAM set that has all count fields cleared (except for the link field). A dummy PaRAM set has at
set least one of the count fields nonzero.
Null transfer A trigger event for a null PaRAM set results in the EDMA3CC performing a null transfer. This is an
error condition. A dummy transfer is not an error condition.
Parameter RAM (PaRAM) Programmable RAM that stores PaRAM sets that DMA channels, QDMA channels, and linking uses.
Parameter RAM (PaRAM) The PaRAM set is a 32-byte EDMA3 channel transfer definition. Each parameter set consists of eight
set words (that are four bytes each) that store the context for a DMA/QDMA/link transfer. A PaRAM set
includes source address, destination address, counts, indexes, and options.
Parameter RAM (PaRAM) A PaRAM set entry occurs when one of the eight four-byte components of the parameter set.
set entry
QDMA channel A channel that can be triggered when writing to the trigger word (TRWORD) of a PaRAM set. All
QDMA channels exist in the EDMA3CC.
Slave end points Slave end points are all on-chip memories, off-chip memories, and slave peripherals. Slave end points
may rely on the EDMA3 to perform transfers to and from them.
SYNCDIM Transfer synchronization dimension.
TCCHEN Transfer complete chaining enable.
TCINTEN Transfer complete interrupt enable.
Transfer request (TR) A command for data movement that is issued from the EDMA3CC to the EDMA3TC. A TR includes
source and destination addresses, counts, indexes, and options.
Trigger event A trigger event is an action that causes the EDMA3CC to service the channel and to submit a transfer
request to the EDMA3TC. Trigger events for the DMA channels include events that are triggered
manually, externally, and by chain. Trigger events for QDMA channels include events that are triggered
automatically and by link.
Trigger word For QDMA channels, the trigger word specifies the PaRAM set entry that results in a QDMA trigger
event when it is written. The trigger word is programmed via the QDMA channel map register
(QCHMAP) and can point to any of the PaRAM set entries.
TR synchronization (sync) See Trigger event.
event
EDMA3 Architecture
This chapter provides the architecture details and common operations of the EDMA3 channel controller
(EDMA3CC) and the EDMA3 transfer controller (EDMA3TC).
NOTE: ‘m’ indicates the EDMA3CC instance number and ‘n’ indicates the EDMA3TC number.
MMR
access
EDMA3_CC0_ERRINT
Completion Read/write
EDMA3_CC0_INT[7:0] and error Completion TCn commands
interrupt detection and data
EDMA3_CC0_MPINT
logic
EDMA3_0_TCn_
EDMA3_CC0_GINT
ERRINT
Transfer
controllers
Channel Controller
MMR
access
EDMA3_CCm
Read/write
TC0 commands
To/from DMA/QDMA and data
Event Transfer
EDMA3 channel PaRAM request EDMA3_m_TC0_
queues
programmer logic submission ERRINT
MMR
access
EDMA3_CCm_ERRINT
Completion Read/write
EDMA3_CCm_INT[7:0] and error Completion TCn commands
interrupt detection and data
EDMA3_CCm_MPINT
logic
EDMA3_m_TCn_
EDMA3_CCm_GINT
ERRINT
Channel mapping
15 0
register
(EER/EERH) Queue 1 To
EDMA3_m_TC0
Event
Manual set 64 15 0
trigger register To
(ESR/ESRH) Queue n-1 Parameter
64 EDMA3_m_TCn
set N-1
Chain Parameter
trigger Chained 15 0 set N
event
8:1 priority encoder
register Queue n
(CER/CERH)
Early completion
QDMA
8 Queue bypass
event
register
(QER)
Completion
QDMA trigger
interface
From
Memory Error Completion
EDMA3_m_TCn
protection detection interrupt
EDMA3
channel
EDMA3_CCm_ Read/write EDMA3_CCm_ EDMA3_CCm_INT[7:0] controller
MPINT to/from ERRINT EDMA3_CCm_GINT
EDMA3
programmer
NOTE: ‘m’ indicates the EDMA3CC instance number, ‘n’ indicates the EDMA3TC number and ‘p’
indicates the number of DMA channels supported per EDMA3CC instance.
The EDMA3CC includes two channel types: DMA channels and QDMA channels.
Each channel is associated with a given event queue/transfer controller and with a given PaRAM set. The
main difference between a DMA channel and QDMA channel is how the transfers are triggered by the
system. See Section 2.4.
A trigger event is necessary to initiate a transfer. For DMA channels, a trigger event may be due to an
external event, manual write to the event set register, or chained event. QDMA channels are auto-
triggered when a write is performed to the user-programmed trigger word. All such trigger events are
logged into appropriate registers upon recognition. See Section 4.2.6 and Section 4.2.8.
Once a trigger event is recognized, the event type/channel is queued in the appropriate EDMA3CC event
queue. The assignment of each DMA/QDMA channel to event queue is programmable. Each queue is 16
deep, so up to 16 events may be queued (on a single queue) in the EDMA3CC at an instant in time.
Additional pending events mapped to a full queue are queued when event queue space becomes
available. See Section 2.11.
If events on different channels are detected simultaneously, the events are queued based on a fixed
priority arbitration scheme with the DMA channels being higher priority events than the QDMA channels.
Among the two groups of channels, the lowest-numbered channel is the highest priority.
Each event in the event queue is processed in FIFO order. On reaching the head of the queue, the
PaRAM associated with that channel is read to determine the transfer details. The TR submission logic
evaluates the validity of the TR and is responsible for submitting a valid transfer request (TR) to the
appropriate EDMA3TC (based on the event queue to the EDMA3TC association, Q0 goes to TC0, and Q1
goes to TC1, etc.). For more information, see Section 2.3.
The EDMA3TC receives the request and is responsible for data movement as specified in the transfer
request packet (TRP), and other necessary tasks like buffering, ensuring transfers are carried out in an
optimal fashion wherever possible. For more information on EDMA3TC, see Section 2.1.3.
You may have chosen to receive an interrupt or chain to another channel on completion of the current
transfer, in which case the EDMA3TC signals completion to the EDMA3CC completion detection logic
when the transfer is done. You can alternately choose to trigger completion when a TR leaves the
EDMA3CC boundary, rather than wait for all of the data transfers to complete. Based on the setting of the
EDMA3CC interrupt registers, the completion interrupt generation logic is responsible for generating
EDMA3CC completion interrupts to the DSP. For more information, see Section 2.5.
Additionally, the EDMA3CC also has an error detection logic that causes an error interrupt generation on
various error conditions (like missed events, exceeding event queue thresholds, etc.). For more
information on error interrupts, see Section 2.9.4.
NOTE: ‘m’ indicates the EDMA3CC instance number and ‘n’ indicates the EDMA3TC number.
controller
register set
Read
command
register set
Read data
Program
Transfer request
submission
SRC Write
controller
To completion command
Write
detection logic
in EDMA3_CCm
Write data
Destination FIFO
EDMA3_m_TCn_ERRINT register set
When the EDMA3TC is idle and receives its first TR, the TR is received in the DMA program register set,
where it transitions to the DMA source active set and the destination FIFO register set immediately. The
source active register set tracks the commands for the source side of the transfers, and the destination
FIFO register set tracks commands for the destination side of the transfer. The second TR (if pending from
EDMA3CC) is loaded into the DMA program set, ensuring it can start as soon as possible when the active
transfer (the transfer in the source active set) is completed. As soon as the current active set is
exhausted, the TR is loaded from the DMA program register set into the DMA source active register set as
well as to the appropriate entry in the destination FIFO register set.
The read controller issues read commands governed by the rules of command fragmentation and
optimization. These are issued only when the data FIFO has space available for the read data. The
number of read commands issued depends on the TR transfer size. The TC write controller starts issuing
write commands as soon as sufficient data is read in the data FIFO for the write controller to issue
optimally sized write commands following the rules for command fragmentation and optimization. For
details on command fragmentation and optimization, see Section 2.12.1.2.
The DSTREGDEPTH parameter (fixed for a given transfer controller) determines the number of entries in
the Dst FIFO register set. The number of entries determines the amount of TR pipelining possible for a
given TC. The write controller can manage the write context for the number of entries in the Dst FIFO
register set. This allows the read controller to go ahead and issue read commands for the subsequent TRs
while the Dst FIFO register set manages the write commands and data for the previous TR. In summary, if
the DSTREGDEPTH is n, the read controller is able to process up to nTRs ahead of the write controller.
However, the overall TR pipelining is also subject to the amount of free space in the data FIFO.
(SRC|DST)
CIDX
(SRC|DST)
CIDX
(SRC|DST) (SRC|DST) (SRC|DST)
BIDX BIDX BIDX
Frame 2 Array 0 Array 1 Array 2 Array 3
(SRC|DST)
CIDX
(SRC|DST) (SRC|DST) (SRC|DST)
BIDX BIDX BIDX
Frame 1 Array 0 Array 1 Array 2 Array 3
(SRC|DST)
CIDX
(SRC|DST) (SRC|DST) (SRC|DST)
BIDX BIDX BIDX
Frame 2 Array 0 Array 1 Array 2 Array 3
NOTE: ABC-synchronized transfers are not directly supported. But can be logically achieved by
chaining between multiple AB-synchronized transfers.
NOTE: n is the number of PaRAM sets supported in the EDMA3CC for a specific device.
n Parameter set n
(1)
The parameter sets must be accessed as 32-bit words.
A LINK value of FFFFh is referred to as a NULL link that should cause the EDMA3CC to perform an
internal write of 0 to all entries of the current PaRAM set, except for the LINK field that is set to FFFFh.
Also, see Section 2.5 for details on terminating a transfer.
After the TR is read from the PaRAM (and is in process of being submitted to EDMA3TC), the following
fields are updated if needed:
• A-synchronized: BCNT, CCNT, SRC, DST
• AB-synchronized: CCNT, SRC, DST
The following fields are not updated (except for during linking, where all fields are overwritten by the link
PaRAM set):
• A-synchronized: ACNT, BCNTRLD, SRCBIDX, DSTBIDX, SRCCIDX, DSTCIDX, OPT, LINK
• AB-synchronized: ACNT, BCNT, BCNTRLD, SRCBIDX, DSTBIDX, SRCCIDX, DSTCIDX, OPT, LINK
Note that PaRAM updates only pertain to the information that is needed to properly submit the next
transfer request to the EDMA3TC. Updates that occur while data is moved within a transfer request are
tracked within the transfer controller, and is detailed in Section 2.12. For A-synchronized transfers, the
EDMA3CC always submits a TRP for ACNT bytes (BCNT = 1 and CCNT = 1). For AB-synchronized
transfers, the EDMA3CC always submits a TRP for ACNT bytes of BCNT arrays (CCNT = 1). The
EDMA3TC is responsible for updating source and destination addresses within the array based on ACNT
and FWID (in OPT). For AB-synchronized transfers, the EDMA3TC is also responsible to update source
and destination addresses between arrays based on SRCBIDX and DSTBIDX.
Table 2-5 shows the details of parameter updates that occur within EDMA3CC for A-synchronized and
AB-synchronized transfers.
Table 2-5. Parameter Updates in EDMA3CC (for Non-Null, Non-Dummy PaRAM Set)
A-Synchronized Transfer AB-Synchronized Transfer
B-Update C-Update Link Update B-Update C-Update Link Update
BCNT == 1 && BCNT == 1 &&
Condition: BCNT > 1 CCNT > 1 CCNT == 1 N/A CCNT > 1 CCNT == 1
SRC += SRCBIDX += SRCCIDX = Link.SRC in EDMA3TC += SRCCIDX = Link.SRC
DST += DSTBIDX += DSTCIDX = Link.DST in EDMA3TC += DSTCIDX = Link.DST
ACNT None None = Link.ACNT None None = Link.ACNT
BCNT -= 1 = BCNTRLD = Link.BCNT in EDMA3TC N/A = Link.BCNT
CCNT None -= 1 = Link.CCNT in EDMA3TC -=1 = Link.CCNT
SRCBIDX None None = Link.SRCBIDX in EDMA3TC None = Link.SRCBIDX
DSTBIDX None None = Link.DSTBIDX None None = Link.DSTBIDX
SRCCIDX None None = Link.SRCBIDX in EDMA3TC None = Link.SRCBIDX
DSTCIDX None None = Link.DSTBIDX None None = Link.DSTBIDX
LINK None None = Link.LINK None None = Link.LINK
BCNTRLD None None = None None = Link.BCNTRLD
Link.BCNTRLD
(1)
OPT None None = LINK.OPT None None = LINK.OPT
(1)
In all cases, no updates occur if OPT.STATIC == 1 for the current PaRAM set.
NOTE: The EDMA3CC includes no special hardware to detect when an indexed address update
calculation overflows/underflows. The address update will wrap across boundaries as
programmed by the user. You should ensure that no transfer is allowed to cross internal port
boundaries between peripherals. A single TR must target a single source/destination slave
endpoint.
NOTE: A transfer (DMA or QDMA) should always be linked to another useful transfer. If it is required
to terminate a transfer, the transfer should be linked to a NULL set. See Section 2.3.3.
The link update occurs after the current PaRAM set event parameters have been exhausted. An event's
parameters are exhausted when the EDMA3 channel controller has submitted all the transfers associated
with the PaRAM set.
A link update occurs for null and dummy transfers depending on the state of the STATIC bit in OPT and
the LINK field. In both cases (null or dummy), if the value of LINK is FFFFh, then a null PaRAM set (with
all 0s and LINK set to FFFFh) is written to the current PaRAM set. Similarly, if LINK is set to a value other
than FFFFh, then the appropriate PaRAM location pointed to by LINK is copied to the current PaRAM set.
Once the channel completion conditions are met for an event, the transfer parameters located at the link
address are loaded into the current DMA or QDMA channel’s associated parameter set. The EDMA3CC
reads the entire PaRAM set (8 words) from the PaRAM set specified by LINK and writes all 8 words to the
PaRAM set associated with the current channel. Figure 2-9 shows an example of a linked transfer.
Any PaRAM set in the PaRAM can be used as a link/reload parameter set; however, it is recommended
that the PaRAM sets associated with peripheral synchronization events (see Section 2.6) should only be
used for linking if the synchronization event isolated with the channel mapped to that PaRAM set is
disabled.
If a PaRAM set location is mapped to a QDMA channel (by QCHMAP n), then copying the link PaRAM set
onto the current QDMA channel PaRAM set is recognized as a trigger event. It is latched in QER since a
write to the trigger word was performed. This feature can be used to create a linked list of transfers using
a single QDMA channel and multiple PaRAM sets. See Section 2.4.2.
Link-to-self transfers replicate the behavior of auto-initialization, which facilitates the use of circular
buffering and repetitive transfers. After an EDMA3 channel exhausts its current PaRAM set, it reloads all
the parameter set entries from another PaRAM set, which is initialized with values identical to the original
PaRAM set. Figure 2-10 shows an example of a linked-to-self transfer. Here, the PaRAM set 255 has the
link field pointing to the address of parameter set 255 (linked-to-self).
NOTE: If the STATIC bit in OPT is set for a PaRAM set, then link updates are not performed. The
link updates performed internally by the EDMA3CC are atomic. This implies that when the
EDMA3CC is updating a PaRAM set, accesses to PaRAM by other EDMA3 programmer's
(for example, DSP configuration accesses) are not allowed. Also for QDMA, for example, if
the first word of the PaRAM entry is defined as a trigger word, EDMA3CC logic assures that
all 8 PaRAM words are updated before the new QDMA event can trigger the transfer for that
PaRAM entry.
NOTE: The constant addressing (CONST) mode has limited applicability. The EDMA3 should be
configured for the constant addressing mode (SAM/DAM = 1) only if the transfer source or
destination (on-chip memory, off-chip memory controllers, slave peripherals) support the
constant addressing mode. See the device-specific data manual and/or peripheral user's
guide to verify if constant addressing mode is supported. If constant addressing mode is not
supported, the similar logical transfer can be achieved using the increment (INCR) mode
(SAM/DAM = 0) by appropriately programming the count and indices values.
If an event is being processed (prioritized or is in the event queue) and another sync event is received for
the same channel prior to the original being cleared (ER.E n ! = 0), then the second event is registered as
a missed event in the corresponding bit of the event missed register (EMR.E n = 1).
For the synchronization events associated with each of the programmable DMA channels, see your
device-specific data manual to determine the event to channel mapping.
NOTE: Chained event registers, event registers, and event set registers operate independently. An
event (E n) can be triggered by any of the trigger sources (event-triggered, manually-
triggered, or chain-triggered).
You must program the PaRAM OPT field with a specific transfer completion code (TCC) along with the
other OPT fields (TCCHEN, TCINTEN, ITCCHEN, and ITCINTEN bits) to indicate whether the completion
code is to be used for generating a chained event or/and for generating an interrupt upon completion of a
transfer.
The specific TCC value (6-bit binary value) programmed dictates which of the 64-bits in the chain event
register (CER[TCC]) and/or interrupt pending register (IPR[TCC]) is set. See Section 2.9 for details on
interrupts and Section 2.8 for details on chaining.
You can also selectively program whether the transfer controller sends back completion codes on
completion of the final transfer request (TR) of a parameter set (TCCHEN or TCINTEN), for all but the
final transfer request (TR) of a parameter set (ITCCHEN or ITCINTEN), or for all TRs of a parameter set
(both). See Section 2.8 for details on chaining (intermediate/final chaining) and Section 2.9 for details on
intermediate/final interrupt completion.
A completion detection interface exists between the EDMA3 channel controller and transfer controller(s).
This interface sends back information from the transfer controller to the channel controller to indicate that
a specific transfer is completed.
All DMA/QDMA PaRAM sets must also specify a link address value. For repetitive transfers such as ping-
pong buffers, the link address value should point to another predefined PaRAM set. Alternatively, a non-
repetitive transfer should set the link address value to the null link value. The null link value is defined as
FFFFh. See Section 2.3.7 for more details.
NOTE: Any incoming events that are mapped to a null PaRAM set results in an error condition. The
error condition should be cleared before the corresponding channel is used again. See
Section 2.3.5.
There are three ways the EDMA3CC gets updated/informed about a transfer completion: normal
completion, early completion, and dummy/null completion. This applies to both chained events and
completion interrupt generation.
NOTE: By default, QDMA channels are mapped to PaRAM set 0. Care must be taken to
appropriately remap PaRAM set 0 before it is used.
Byte
Set address
# PaRAM PaRAM set offset
0 Parameter set 0 OPT +0h
1 Parameter set 1 SRC +4h
2 Parameter set 2 BCNT ACNT +8h
3 Parameter set 3 DST +Ch
DSTBIDX SRCBIDX +10h
BCNTRLD LINK +14h
DSTCIDX SRCCIDX +18h
Rsvd CCNT
+1Ch
NOTE: n is the number of PaRAM sets supported in the EDMA3CC for a specific device.
The channel registers (including DMA, QDMA, and interrupt registers) are accessible via the global
channel region address range, or in the shadow n channel region address range(s). For example, the
event enable register (EER) is visible in the global region register space at offset 1020h, or region
addresses at offset 2020h for region 0, 2220h for region 1, ... offset 2E20h for region 7.
The underlying control register bits that are accessible via the shadow region address space (except for
IEVAL n) are controlled by the DMA region access enable registers (DRAE m) and QDMA region access
enable registers (QRAE m). Table 2-7 lists the registers in the shadow region memory-map. See the
EDMA3CC memory map (Table 4-1) for the complete global and shadow region memory maps.
Figure 2-12 illustrates the conceptual view of the regions.
IER, IERH
IECR,
IESR,
IPR,
ICR,
IEV AL,
QER
Access Address ER, ERH QEER
Offset DRAE7/ QEECR
2E00h DRAE7H QEESR
2E94h QSECR QRAE7 QSER
Address Offset
QSECR
IEV AL 1094h
Shadow region 7
registers
Example 2-1 illustrates a resource pool division across two regions, assuming region 0 must be allocated
16 DMA channels (0-15) and 1 QDMA channel (0) and 32 TCC codes (0-15 and 48-63). Region 1 needs
to be allocated 16 DMA channels (16-32) and the remaining 3 QDMA channels (1-3) and TCC codes (16-
47). DRAE should be equal to the OR of the bits that are required for the DMA channels and the TCC
codes.
Region 0:
Region 1:
NOTE: ‘ m’ indicates the EDMA3CC instance number and ‘n’ indicates the EDMA3TC number.
When a completion code is returned (as a result of early or normal completion), the corresponding bit in
IPR/IPRH is set if transfer completion interrupt (final/intermediate) is enabled in the channel options
parameter (OPT) for a PaRAM set associated with the transfer.
The transfer completion code (TCC) can be programmed to any value for a DMA/QDMA channel. A direct
relation between the channel number and the transfer completion code value does not need to exist. This
allows multiple channels having the same transfer completion code value to cause a DSP to execute the
same interrupt service routine (ISR) for different channels.
NOTE: The TCC field in the channel options parameter (OPT) is a 6-bit field and can be
programmed for any value between 0-64. For devices with 16/32 DMA channels, the TCC
should have a value between 0 to 15/31 so that it sets the appropriate bits (0 to 15/31) in
IPR (and can interrupt the DSP(s) on enabling the IER register bits (0-15/31)).
If the channel is used in the context of a shadow region and you intend for the shadow region interrupt to
be asserted, then ensure that the bit corresponding to the TCC code is enabled in IER/IERH and in the
corresponding shadow region's DMA region access registers (DRAE/DRAEH).
You can enable Interrupt generation at either final transfer completion or intermediate transfer completion,
or both. Consider channel m as an example.
• If the final transfer interrupt (TCINTEN = 1 in OPT) is enabled, the interrupt occurs after the last
transfer request of channel m is either submitted or completed (depending on early or normal
completion).
• If the intermediate transfer interrupt (ITCINTEN = 1 in OPT) is enabled, the interrupt occurs after every
intermediate transfer request of channel m is either submitted or completed (depending on early or
normal completion).
• If both final and intermediate transfer completion interrupts (TCINTEN = 1, and ITCINTEN = 1 in OPT)
are enabled, then the interrupt occurs after every transfer request of channel m is submitted or
completed (depending on early or normal completion).
Table 2-11 shows the number of interrupts that occur in different synchronized scenarios. Consider
channel 31, programmed with ACNT = 3, BCNT = 4, CCNT = 5, and TCC = 30.
X 1 0
Interrupt
enable DMA region DMA region
register access enable 0 access enable 7
(IER) (DRAE0) (DRAE7)
X 1 0 X 1 0 X 1 0
For the EDMA3CC to generate the transfer completion interrupts that are associated with each shadow
region, the following conditions must be true:
• EDMA3CC_INT0: (IPR.E0 & IER.E0 & DRAE0.E0) | (IPR.E1 & IER.E1 & DRAE0.E1) | …|(IPR[H].E n
& IER[H].E n & DRAE[H]0.E n)
• EDMA3CC_INT1: (IPR.E0 & IER.E0 & DRAE1.E0) | (IPR.E1 & IER.E1 & DRAE1.E1) | …| (IPR[H].E n
& IER[H].E n & DRAE[H]1.E n)
• EDMA3CC_INT2: (IPR.E0 & IER.E0 & DRAE2.E0) | (IPR.E1 & IER.E1 & DRAE2.E1) | …|(IPR[H].E n
& IER[H].E n & DRAE[H]2.E n)...
• Up to EDMA3CC_INT7: (IPR.E0 & IER.E0 & DRAE7.E0) | (IPR.E1 & IER.E1 & DRAE7.E1)
| …|(IPR[H].E n & IER[H].E n & DRAE[H]7.E n)
NOTE: n is the number of DMA channels supported in the EDMA3CC for a specific device. All high
registers are applicable only when the EDMA3CC supports more than 32 DMA channels.
NOTE: The DRAE/DRAEH for all regions are expected to be set up at system initialization and to
remain static for an extended period of time. The interrupt enable registers should be used
for dynamic enable/disable of individual interrupts.
Because there is no relation between the TCC value and the DMA/QDMA channel, it is
possible, for example, for DMA channel 0 to have the OPT.TCC = 63 in its associated
PaRAM set. This would mean that if a transfer completion interrupt is enabled
(OPT.TCINTEN or OPT.ITCINTEN is set), then based on the TCC value, IPRH.E63 is set up
on completion. For proper channel operations and interrupt generation using the shadow
region map, you must program the DRAE/DRAEH that is associated with the shadow region
to have read/write access to both bit 0 (corresponding to channel 0) and bit 63
(corresponding to IPRH bit that is set upon completion).
NOTE: An event may occur during step 4 while the IPR/IPRH bits are read as 0 and
the application is still in the interrupt service routine. If this happens, a new
interrupt is recorded in the device interrupt controller and a new interrupt is
generated as soon as the application exits the interrupt service routine.
Section 2.9.2.2 is less rigorous, with less burden on the software in polling for set interrupt bits, but can
occasionally cause a race condition as mentioned above.
If it is desired to leave any enabled and pending (possibly lower priority) interrupts, it is required to force
the interrupt logic to reassert the interrupt pulse by setting the EVAL bit in the interrupt evaluation register
(IEVAL).
(b) Clear the bit for serviced conditions (others may still be set, and other transfers may have
resulted in returning the TCC to EDMA3CC after step 2).
Step 4. Read IPR/IPRH prior to exiting the ISR:
(a) If IPR/IPRH is equal to 0, then exit the ISR.
(b) If IPR/IPRH is not equal to 0, then set IEVAL so that upon exit of ISR, a new interrupt is
triggered if any enabled interrupts are still pending.
NOTE: The EVAL bit must not be set when IPR/IPRH is read to be 0, to avoid
generation of extra interrupt pulses.
NOTE: While using IEVAL for shadow region completion interrupts, you should make sure that the
EVAL operated upon is from that particular shadow region memory map.
NOTE: It is a good practice to enable the error interrupt in the device interrupt controller and to
associate an interrupt service routine with it to address the various error conditions
appropriately. Doing so puts less burden on the software (polling for error status).
Additionally, it provides a good debug mechanism for unexpected error conditions.
EEV AL.EV AL
Eval/
pulse
EDMA3_CCm_ERRINT
NOTE: m is the EDMA3CC instance number, n is the number of queues supported in the
EDMA3CC for a specific device, and p is the number of DMA channels supported in the
EDMA3CC for a specific device.
See Section 4.2.5.4 for the bit field descriptions of MPPA n. The MPPA n have a certain set of access
rules.
Table 2-12 shows the accesses that are allowed or not allowed to the MPPAG and MPPA n.
Table 2-13 describes the MPPA register mapping for the shadow regions (which includes shadow region
registers and PaRAM addresses).
The region-based MPPA registers are used to protect accesses to the DMA shadow regions and the
associated region PaRAM. Because there are eight regions, there are eight MPPA region registers
(MPPA[0-7]).
Section 2.10.1.1 is an example of access denied to an EDMA3CC register. Write access to shadow region
7's event enable set register (EESR).
2.10.1.2 Write access to shadow region 7's event enable set register (EESR)
Step 1. The original value of the event enable register (EER) at address offset 1020h is 0
Step 2. The MPPA[7] is set to allow user-level accesses (UW = 1, UR = 1) and supervisor-level
accesses (SW = 1, SR = 1) with a privilege ID of 0. (AID0 = 1)
Step 3. An EDMA3 programmer with a privilege ID of 0, attempts to perform a user-level write of a
value of ABCD 0123h to shadow region 7's event enable set register (EESR) at address
offset 2E30h. Note that the EER is a read-only register and the only way that you can write to
it is by writing to the EESR. Also remember that there is only one physical register for EER,
EESR, etc. and that the shadow regions only provide to the same physical set.
Step 4. Since the MPPA[7] has UW = 1 and AID0 = 1, the user-level write access is allowed.
Step 5. Remember that accesses to shadow region registers are masked by their respective DRAE
register. In this example, the DRAE[7] is set of 9F00 0F00h.
Step 6. The value finally written to EER is 9F00 0F00h.
Table 2-15 illustrates the example above.
See the data manual for the PRIVIDs that are associated with potential EDMA3 programmers.
These options are part of the TR that are submitted to the transfer controller. The transfer controller uses
the above values on their respective read and write command bus so that the target endpoints can
perform memory protection checks based on these values.
For example, consider a parameter set that is programmed by a DSP in user privilege level for a simple
transfer with the source buffer on an L2 page and the destination buffer on an L1D page. The PRIV is 0
for user-level and the DSP has a PRIVID of 0.
The PaRAM set is shown in Figure 3-2.
Figure 2-15. PaRAM Set Content for Proxied Memory Protection Example
(a) EDMA Parameters
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 1 1 1
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
The PRIV and PRIVID information travels along with the read and write requests that are issued to the
source and destination memories.
For example, if the access attributes that are associated with the L2 page with the source buffer only allow
supervisor read, write accesses (SR, SW), the user-level read request above is refused. Similarly, if the
access attributes that are associated with the L1D page with the destination buffer only allow supervisor
read and write accesses (SR, SW), the user-level write request above is refused. For the transfer to
succeed, the source and destination pages should have user-read and user-write permissions,
respectively, along with allowing accesses with a PRIVID 0. For more information regarding how to set
memory protection attributes for pages of memory in L2/L1D, see the TMS320C66x DSP CorePac User
Guide (SPRUGW0).
Because the programmers privilege level and privilege identification travel with the read and write
requests, EDMA3 acts as a proxy.
Figure 2-16 illustrates the propagation of PRIV and PRIVID at the boundaries (DSP, EDMA3CC,
EDMA3TC, and slave memories).
Memory
Protection
Attribute
NOTE: If an event is ready to be queued and both the event queue and the EDMA3 transfer
controller associated to the event queue are empty, then the event bypasses the event
queue, and goes to the PaRAM processing logic and eventually to the transfer request
submission logic for submission to the EDMA3TC. In this case, the event is not logged in the
event queue status registers.
In contrast, the Write Interface does not have any performance turning knobs because writes always have
an interval between commands as write commands are submitted along with the associated write data.
from the destination FIFO register entry 1 and the second pending TR is read from the destination
FIFO register entry 2.
• DFSTRTPTR = 3h and DSTACTV = 2h implies that two TRs are present. The first pending TR is read
from the destination FIFO register entry 3 and the second pending TR is read from the destination
FIFO register entry 0.
NOTE: At any given time, if there are outstanding events in multiple queues, when the transfer
controller associated with the lower numbered (higher priority) queue is busy processing
earlier transfer requests and the transfer controller associated with the higher numbered
(lower priority) queue is idle, then the event in the higher numbered (lower priority) queue will
de-queue first.
Channel mapping
register Q1
TeraNet
(EER/EERH)
0 15
Event Qn-1
Manual set 64
trigger register
0 15 Parameter
(ESR/ESRH)
64 Qn entry N-1 EDMA3_
m_TCn
Chain Parameter
trigger Chained entry N
event
8:1 priority encoder
Early completion
QDMA
event 8
EDMA3 System
register priority
(QER) channel
controller
QDMA trigger
Completion
interface
Memory Error Completion From
protection detection interrupt EDMA3_m_TCn
NOTE: ‘m’ indicates the EDMA3CC instance number, ‘n’ indicates the EDMA3TC number and ‘p’
indicates the number of DMA channels supported per EDMA3CC instance.
17 18 19 20 21 17 18 19 20 21
244 245 246 247 248 244 245 246 247 248
249 250 251 252 253 254 255 256 249 250 251 252 253 254 255 256
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 1 0 0 1
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
80 0000h 0_1 0_2 0_3 0_4 0_5 0_6 0_7 0_8 0_9 0_A 0_B 0_C 0_D 0_E 0_F 0_10
A000 0788h
1_1 1_2 1_3 1_4 1_5 1_6 1_7 1_8 1_9 1_A 1_B 1_C 1_D 1_E 1_F 1_10
2_1 2_2 2_3 2_4 2_5 2_6 2_7 2_8 2_9 2_A 2_B 2_C 2_D 2_E 2_F 2_10
3_1 3_2 3_3 3_4 3_5 3_6 3_7 3_8 3_9 3_A 3_B 3_C 3_D 3_E 3_F 3_10
4_1 4_2 4_3 4_4 4_5 4_6 4_7 4_8 4_9 4_A 4_B 4_C 4_D 4_E 4_F 4_10
5_1 5_2 5_3 5_4 5_5 5_6 5_7 5_8 5_9 5_A 5_B 5_C 5_D 5_E 5_F 5_10
6_1 6_2 6_3 6_4 6_5 6_6 6_7 6_8 6_9 6_A 6_B 6_C 6_D 6_E 6_F 6_10
7_1 7_2 7_3 7_4 7_5 7_6 7_7 7_8 7_9 7_A 7_B 7_C 7_D 7_E 7_F 7_10
8_1 8_2 8_3 8_4 8_5 8_6 8_7 8_8 8_9 8_A 8_B 8_C 8_D 8_E 8_F 8_10
9_1 9_2 9_3 9_4 9_5 9_6 9_7 9_8 9_9 9_A 9_B 9_C 9_D 9_E 9_F 9_10
A_1 A_2 A_3 A_4 A_5 A_6 A_7 A_8 A_9 A_A A_B A_C A_D A_E A_F A_10
B_1 B_2 B_3 B_4 B_5 B_6 B_7 B_8 B_9 B_A B_B B_C B_D B_E B_F B_10
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 1 1 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 1 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 1 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
NOTE: Examples in this section are samples. The peripherals, channels, and addresses used in
these examples may not apply to your specific device. See your device-specific data manual
for supported peripherals.
The EDMA3 channel controller also services peripherals in the background of DSP operation, without
requiring any DSP intervention. Through proper initialization of the EDMA3 channels, they can be
configured to continuously service on-chip and off-chip peripherals throughout the device operation. Each
event available to the EDMA3 has its own dedicated channel, and all channels operate simultaneously.
The only requirements are to use the proper channel for a particular transfer and to enable the channel
event in the event enable register (EER). When programming an EDMA3 channel to service a peripheral,
it is necessary to know how data is to be presented to the DSP. Data is always provided with some kind of
synchronization event as either one element per event (non-bursting) or multiple elements per event
(bursting).
Rx Shift Rx Data Rx
Register Bufffer Register
Figure 3-8. Servicing Incoming Non-bursting Peripheral Data Example PaRAM Configuration
(a) EDMA Parameters
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 1 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
REVT 80 0000h A1i A2i A3i A4i A5i A6i A7i A8i
..B5..A5..B4..A4..B3..A3..B2..A2..B1..A1
A9i A10i A11i A12i A13i ... ...
Rx Shift Data Rx
Rx Buffer
Register Register
80 0080h B1i B2i B3i B4i B5i B6i B7i B8i
XEVT 80 1000h A1o A2o A3o A4o A5o A6o A7o A8o
A1..B1..A2..B2..A3..B3..A4..B4..A5..B5
A9o A10o A11o A12o A13o ... ...
Tx Shift Data Tx
Register Register
80 1080h B1o B2o B3o B4o B5o B6o B7o B8o
Figure 3-12. Servicing Continuous Non-bursting Peripheral Data Example PaRAM Configuration
(a) EDMA Parameters for Receive Channel (PaRAM Set 13) being Linked to PaRAM Set 64
(b) Channel Options Parameter (OPT) Content for Receive Channel (PaRAM Set 13)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
(c) EDMA Parameters for Transmit Channel (PaRAM Set 12) being Linked to PaRAM Set 65
(d) Channel Options Parameter (OPT) Content for Transmit Channel (PaRAM Set 12)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0001 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
Figure 3-13. Servicing Continuous Non-bursting Peripheral Data Example Reload PaRAM
Configuration
(a) EDMA Reload Parameters (PaRAM Set 64) for Receive Channel
(b) Channel Options Parameter (OPT) Content for Receive Channel (PaRAM Set 64)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0000 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
(c) EDMA Reload Parameters (PaRAM Set 65) for Transmit Channel
(d) Channel Options Parameter (OPT) Content for Transmit Channel (PaRAM Set 65)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
0001 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
A9i A10i A11i A12i A13i ... ... A9i A10i A11i A12i A13i ... ...
Data Rx
Register
80 0080h B1i B2i B3i B4i B5i B6i B7i B8i 80 0880h B1i B2i B3i B4i B5i B6i B7i B8i
REVT
B9i B10i B11i B12i B13i ... ... B9i B10i B11i B12i B13i ... ...
80 1000h A1o A2o A3o A4o A5o A6o A7o A8o XEVT 80 1800h A1o A2o A3o A4o A5o A6o A7o A8o
A9o A10o A11o A12o A13o ... ... A9o A10o A11o A12o A13o ... ...
Data Tx
Register
80 1080h B1o B2o B3o B4o B5o B6o B7o B8o 80 1880h B1o B2o B3o B4o B5o B6o B7o B8o
B9o B10o B11o B12o B13o ... ... B9o B10o B11o B12o B13o ... ...
Tx Shift
A1..B1..A2..B2..A3..B3..A4..B4..A5..B5
Register
Figure 3-15. Ping-Pong Buffering for Non-bursting Peripheral Example PaRAM Configuration
(a) EDMA Parameters for Channel 13 (Using PaRAM Set 13 Linked to Pong Set 64)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
1101 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
(c) EDMA Parameters for Channel 12 (Using PaRAM Set 12 Linked to Pong Set 65)
31 30 28 27 24 23 22 21 20 19 18 17 16
0 000 0000 0 0 0 1 00 00
PRIV Reserved PRIVID ITCCHEN TCCHEN ITCINTEN TCINTEN Reserved TCC
15 12 11 10 8 7 4 3 2 1 0
1100 0 000 0000 0 0 0 0
TCC TCCMOD FWID Reserved STATIC SYNCDIM DAM SAM
Figure 3-16. Ping-Pong Buffering for Non-bursting Peripheral Example Pong PaRAM Configuration
(a) EDMA Pong Parameters for Channel 13 at Set 64 Linked to Set 65
Figure 3-17. Ping-Pong Buffering for Non-bursting Peripheral Example Ping PaRAM Configuration
(a) EDMA Ping Parameters for Channel 13 at Set 65 Linked to Set 64
Event 48
Intermediate
transfer complete(A)
Channel 48, array 1 Channel 8, array 1
Event 48
Intermediate
transfer complete(A)
Channel 48, array 2 Channel 8, array 2
Event 48
Transfer complete(B)
Channel 48, array 3 Channel 8, array 3 Transfer complete sets
(last array) IPR.I8 = 1
If IPR.I8 = 1, interrupt
Notes: (A) Intermediate transfer complete chaining synchronizes event 8 EDMACC_INT* sent
to DSP
ITCCHEN = 1, TCC = 01000b, and sets CER.E8 = 1
(B) T ransfer complete chaining synchronizes event 8
TCCHEN =1, TCC = 01000b and sets CER.E8 = 1
Setup
Channel 48 parameters Channel 8 parameters
for chaining for chaining Event enable register (EER)
ACNT = 16384
16 KBytes data transfer BCNT = 1
CCNT = 1
OPT .ITCINTEN = 0
OPT .TCC = Don’t care
1D transfer of 16 KByte elements
1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K 1K
Registers
This chapter describes the memory-mapped registers associated with the EDMA3 controller.
NOTE: At reset the QDMA channel map registers for all QDMA channels point to PaRAM set 0. If an
application makes use of both a DMA channel that points to PaRAM set 0 and any QDMA
channels, ensure that QCHMAP n is programmed appropriately to point to a different
PaRAM entry.
NOTE: Because the event queues in EDMA3CC have a fixed association to the transfer controllers,
that is, Q0 TRs are submitted to TC0, Q1 TRs are submitted to TC1, etc., by programming
DMAQNUM n for a particular DMA channel n also dictates which transfer controller is utilized
for the data movement (or which EDMA3TC receives the TR request).
Table 4-6. DMA Channel Queue n Number Registers (DMAQNUM n) Field Descriptions
Bit Field Description
31-0 En DMA queue number. Contains the event queue number to be used for the corresponding DMA channel.
Programming DMAQNUM n for an event queue number to a value more than the number of queues available in the
EDMA3CC results in undefined behavior.
0h = Event n is queued on Q0
1h = Event n is queued on Q1
2h = Event n is queued on Q2
3h = Event n is queued on Q3
4h - 7h = Reserved
Table 4-8. QDMA Channel Queue Number Register (QDMAQNUM) Field Descriptions
Bit Field Description
31-0 En QDMA queue number. Contains the event queue number to be used for the corresponding QDMA channel.
0h = Event n is queued on Q0
1h = Event n is queued on Q1
2h = Event n is queued on Q2
3h = Event n is queued on Q3
4h - 7h = Reserved
CAUTION
Care must be taken while changing the default mapping in this register. User
must ensure that the same TC number should never be assigned to multiple
queues (i.e., TCNUMQn != TCNUMQm).
The Queue-to-TC Mapping Register (QUETCMAP) is shown in Figure 4-7 and described in Table 4-9.
Table 4-14. Event Missed Clear Register High (EMCRH) Field Descriptions
Bit Field Description
31-0 En Event missed 32-63 clear. All error bits must be cleared before additional error interrupts will be asserted by the
EDMA3CC.
0h = No effect.
1h = Corresponding missed event bit in the event missed register high (EMRH) is cleared (E n = 0).
Table 4-16. QDMA Event Missed Clear Register (QEMCR) Field Descriptions
Bit Field Description
31-8 Reserved Reserved
7-0 En QDMA event missed clear. All error bits must be cleared before additional error interrupts will be asserted by
the EDMA3CC.
0h = No effect.
1h = Corresponding missed event bit in the QDMA event missed register (QEMR) is cleared (E n = 0).
Figure 4-18. DMA Region Access Enable Register for Region m (DRAE m)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
E31 E30 E29 E28 E27 E26 E25 E24 E23 E22 E21 E20 E19 E18 E17 E16
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
E15 E14 E13 E12 E11 E10 E9 E8 E7 E6 E5 E4 E3 E2 E1 E0
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
LEGEND: R/W =Read/Write; - n = value after reset
Figure 4-19. DMA Region Access Enable High Register for Region m (DRAEH m)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
E63 E62 E61 E60 E59 E58 E57 E56 E55 E54 E53 E52 E51 E50 E49 E48
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
E47 E46 E45 E44 E43 E42 E41 E40 E39 E38 E37 E36 E35 E34 E33 E32
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
LEGEND: R/W = Read/Write; - n = value after reset
Table 4-20. DMA Region Access Enable Registers for Region M (DRAE m/DRAEH m) Field
Descriptions
Bit Field Description
31-0 En DMA region access enable for bit n/channel n in region m.
0h = Accesses via region m address space to bit n in any DMA channel register are not allowed. Reads return 0 on
bit n and writes do not modify the state of bit n. Enabled interrupt bits for bit n do not contribute to the generation of
a transfer completion interrupt for shadow region m.
1h = Accesses via region m address space to bit n in any DMA channel register are allowed. Reads return the
value from bit n and writes modify the state of bit n. Enabled interrupt bits for bit n contribute to the generation of a
transfer completion interrupt for shadow region m.
Table 4-21. QDMA Region Access Enable for Region M (QRAE m) Field Descriptions
Bit Field Description
31-8 Reserved Reserved
7-0 En QDMA region access enable for bit n/QDMA channel n in region m.
0h = Accesses via region m address space to bit n in any QDMA channel register are not allowed. Reads return
0 on bit n and writes do not modify the state of bit n.
1h = Accesses via region m address space to bit n in any QDMA channel register are allowed. Reads return the
value from bit n and writes modify the state of bit n.
Table 4-26. Memory Protection Fault Address Register (MPFAR) Field Descriptions
Bit Field Description
31-0 FADDR Fault address. This 32-bit read-only status register contains the fault address when a memory protection violation is
detected. This register can only be cleared via the memory protection fault command register (MPFCR).
Table 4-27. Memory Protection Fault Status Register (MPFSR) Field Descriptions
Bit Field Description
31-13 Reserved Reserved
12-9 FID Faulted identification. FID contains valid information if any of the MP error bits (UXE, UWE, URE, SXE, SWE, SRE)
are nonzero (that is, if an error has been detected.) The FID field contains the privilege ID for the specific
request/requester that resulted in an MP error.
8-6 Reserved Reserved
5 SRE Supervisor read error.
0h = No error detected.
1h = Supervisor level task attempted to read from a MP page without SR permissions.
4 SWE Supervisor write error.
0h = No error detected.
1h = Supervisor level task attempted to write to a MP page without SW permissions.
3 SXE Supervisor execute error.
0h = No error detected.
1h = Supervisor level task attempted to execute from a MP page without SX permissions.
2 URE User read error.
0h = No error detected.
1h = User level task attempted to read from a MP page without UR permissions.
1 UWE User write error.
0h = No error detected.
1h = User level task attempted to write to a MP page without UW permissions.
0 UXE User execute error.
0h = No error detected.
1h = User level task attempted to execute from a MP page without UX permissions.
Table 4-28. Memory Protection Fault Command Register (MPFCR) Field Descriptions
Bit Field Description
31-1 Reserved Reserved
0 MPFCLR Fault clear register.
0h = DSP write of 0 has no effect.
1h = DSP write of 1 to the MPFCLR bit causes any error conditions stored in the memory protection fault address
register (MPFAR) and the memory protection fault status register (MPFSR) to be cleared.
Table 4-29. Memory Protection Page Attribute Register (MPPAG/MPPA n) Field Descriptions
Bit Field Description
31-16 Reserved Reserved
15-10 AID m Allowed ID n
0h = Requests with Privilege ID == n are not allowed to region m, regardless of permission settings (UW, UR, SW,
SR).
1h = Requests with Privilege ID == n are permitted, if access type is allowed as defined by permission settings
(UW, UR, SW, SR).
9 EXT External Allowed ID.
0h = Requests with Privilege ID >= 6 are not allowed to region m, regardless of permission settings (UW, UR, SW,
SR).
1h = Requests with Privilege ID >= 6 are permitted, if access type is allowed as defined by permission settings
(UW, UR, SW, SR).
8 Reserved Reserved
7-6 Reserved Reserved. Always write 1 to this bit.
5 SR Supervisor read permission
0h = Supervisor read accesses are not allowed from region m.
1h = Supervisor write accesses are allowed from region m addresses.
4 SW Supervisor write permission.
0h = Supervisor write accesses are not allowed to region m.
1h = Supervisor write accesses are allowed to region n addresses.
3 SX Supervisor execute permission.
0h = Supervisor execute accesses are not allowed from region m.
1h = Supervisor execute accesses are allowed from region m addresses.
2 UR User read permission.
0h = User read accesses are not allowed from region m.
1h = User read accesses are allowed from region n addresses.
1 UW User write permission.
0h = User write accesses are not allowed to region m.
1h = User write accesses are allowed to region m addresses.
0 UX User execute permission.
0h = User execute accesses are not allowed from region m.
1h = User execute accesses are allowed from region m addresses.
Table 4-41. Event Enable Clear Register High (EECRH) Field Descriptions
Bit Field Description
31-0 En Event enable clear for events 32-63.
0h = No effect.
1h = Event is disabled. Corresponding bit in the event enable register high (EERH) is cleared (E n = 0).
Table 4-43. Event Enable Set Register High (EESRH) Field Descriptions
Bit Field Description
31-0 En Event enable set for events 32-63.
0h = No effect.
1h = Event is enabled. Corresponding bit in the event enable register high (EERH) is set (E n = 1)
Table 4-47. Secondary Event Clear Register High (SECRH) Field Descriptions
Bit Field Description
31-0 En Secondary event clear register.
1h = No effect.
2h = Corresponding bit in the secondary event registers high (SERH) is cleared (E n = 0).
Table 4-51. Interrupt Enable Clear Register High (IECRH) Field Descriptions
Bit Field Description
31-0 In Interrupt enable clear for channels 32-63.
0h = No effect.
1h = Corresponding bit in the interrupt enable register high (IERH) is cleared (I n = 0).
Table 4-53. Interrupt Enable Set Register High (IESRH) Field Descriptions
Bit Field Description
31-0 In Interrupt enable clear for channels 32-63.
0h = No effect.
1h = Corresponding bit in the interrupt enable register high (IERH) is set (I n = 1).
Table 4-61. QDMA Event Enable Clear Register (QEECR) Field Descriptions
Bit Field Description
31-8 Reserved Reserved
7-0 En QDMA event enable clear for channels 0-7.
0h = No effect.
1h = QDMA event is disabled. Corresponding bit in the QDMA event enable register (QEER) is cleared (E n = 0).
Table 4-62. QDMA Event Enable Set Register (QEESR) Field Descriptions
Bit Field Description
31-8 Reserved Reserved
7-0 En QDMA event enable set for channels 0-7.
0h = No effect.
1h = QDMA event is enabled. Corresponding bit in the QDMA event enable register (QEER) is set (E n = 1).
Table 4-64. QDMA Secondary Event Clear Register (QSECR) Field Descriptions
Bit Field Description
31-8 Reserved Reserved
7-0 En QDMA secondary event clear for channels 0-7.
0h = No effect.
1h = Corresponding bit in the QDMA secondary event register (QSER) and the QDMA event register (QER) is
cleared (E n = 0).
NOTE: It is expected that the RDRATE value for a transfer controller is static, as it is decided based
on the application requirement. It is not recommended to change this setting on the fly.
Table 4-75. Source Active Options Register (SAOPT) Field Descriptions (continued)
Bit Field Description
0 SAM Source address mode within an array.
0h = Increment (INCR) mode. Source addressing within an array increments.
1h = Constant addressing (CONST) mode. Source addressing within an array wraps around upon reaching FIFO
width.
Table 4-76. Source Active Source Address Register (SASRC) Field Descriptions
Bit Field Description
31-0 SADDR Source address for program register set. EDMA3TC updates value according to source addressing mode (SAM bit
in the source active options register, SAOPT). Value = 0-FFFF FFFFh
Table 4-78. Source Active Destination Address Register (SADST) Field Descriptions
Bit Field Description
31-0 DADDR Always reads as 0.
Table 4-79. Source Active Source B-Dimension Index Register (SABIDX) Field Descriptions
Bit Field Description
31-16 DSTBIDX B-Index offset between destination arrays. Represents the offset in bytes between the starting address of each
destination. Always reads as 0.
15-0 SRCBIDX B-Index offset between source arrays. Represents the offset in bytes between the starting address of each
source array. Value = 0-FFFFh
Table 4-80. Source Active Memory Protection Proxy Register (SAMPPRXY) Field Descriptions
Bit Field Description
31-9 Reserved Reserved
8 PRIV Privilege level. The privilege level used by the host to set up the parameter entry in the channel controller. This field
is set up when the associated TR is submitted to the EDMA3TC.
The privilege ID is used while issuing read and write command to the target endpoints so that the target endpoints
can perform memory protection checks based on the PRIV of the host that set up the DMA transaction.
0h = User-level privilege
1h = Supervisor-level privilege
7-4 Reserved Reserved
3-0 PRIVID Privilege ID. This contains the privilege ID of the host that set up the parameter entry in the channel controller. This
field is set up when the associated TR is submitted to the EDMA3TC.
This PRIVID value is used while issuing read and write commands to the target endpoints so that the target
endpoints can perform memory protection checks based on the PRIVID of the host that set up the DMA transaction.
Table 4-81. Source Active Count Reload Register (SACNTRLD) Field Descriptions
Bit Field Description
31-16 Reserved Reserved
15-0 ACNTRLD A-count reload value. Represents the originally programmed value of ACNT. The reload value is used to
reinitialize ACNT after each array is serviced. Value = 0-FFFFh
Table 4-82. Source Active Source Address B-Reference Register (SASRCBREF) Field Descriptions
Bit Field Description
31-0 SADDRBREF Source address B-reference. Represents the starting address for the array currently being read. Value = 0-
FFFF FFFFh
Table 4-83. Source Active Destination Address B-Reference Register (SADSTBREF) Field
Descriptions
Bit Field Description
31-0 DADDRBREF Always reads as 0.
NOTE: The value for n varies from 0 to DSTREGDEPTH for the given EDMA3TC.
NOTE: The value for n varies from 0 to DSTREGDEPTH for the given EDMA3TC.
Table 4-85. Destination FIFO Source Address Register (DFSRC n) Field Descriptions
Bit Field Description
31-0 SADDR Always read as 0.
NOTE: The value for n varies from 0 to DSTREGDEPTH for the given EDMA3TC.
NOTE: The value for n varies from 0 to DSTREGDEPTH for the given EDMA3TC.
Table 4-87. Destination FIFO Destination Address Register (DFDSTn) Field Descriptions
Bit Field Description
31-0 DADDR Destination address for the destination FIFO register set. When a transfer request (TR) is complete, the final value
should be the address of the last write command issued.
NOTE: The value for n varies from 0 to DSTREGDEPTH for the given EDMA3TC.
Table 4-89. Destination FIFO Memory Protection Proxy Register (DFMPPRXY n) Field Descriptions
Bit Field Description
31-9 Reserved Reserved
8 PRIV Privilege level. This contains the Privilege level used by the EDMA3 programmer to set up the parameter entry in
the channel controller. This field is set up when the associated TR is submitted to the EDMA3TC.
The privilege ID is used while issuing read and write commands to the target endpoints so that the target endpoints
can perform memory protection checks based on the PRIV of the host that set up the DMA transaction.
0h = User-level privilege
1h = Supervisor-level privilege
7-4 Reserved Reserved
3-0 PRIVID Privilege ID. This contains the Privilege ID of the EDMA3 programmer that set up the parameter entry in the
channel controller. This field is set up when the associated TR is submitted to the EDMA3TC.
This PRIVID value is used while issuing read and write commands to the target endpoints so that the target
endpoints can perform memory protection checks based on the PRIVID of the host that set up the DMA transaction.
Table 4-90. Destination FIFO Count Reload Register (DFCNTRLD n) Field Descriptions
Bit Field Description
31-16 Reserved Reserved
15-0 ACNTRLD A-count reload value. Represents the originally programmed value of ACNT. The reload value is used to
reinitialize ACNT after each array is serviced. Value = 0-FFFFh
Table 4-91. Destination FIFO Source Address B-Reference Register (DFSRCBREF n) Field
Descriptions
Bit Field Description
31-0 SADDRBREF Not Applicable. Always read as 0.
Table 4-92. Destination FIFO Destination Address B-Reference Register (DFDSTBREF n) Field
Descriptions
Bit Field Description
31-0 DADDRBREF Destination address reference for the destination FIFO register set. Represents the starting address for the
array currently being written. Value =0-FFFF FFFFh
Tips
Setting up a Transfer
(b) If polling for completion (interrupts not enabled in the device controller), then the
application code can wait on the expected bits to be set in the IPR/IPRH. Again, the set
bits in the IPR/IPRH must be manually cleared via ICR/ICRH before the next set of
transfers is performed for the same transfer completion code values.
Revision History
• Updated DFSTRTPTR bit in TCSTAT Register to bits 12-11 from bits 13-12.................................................. 148
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, enhancements, improvements and other
changes to its semiconductor products and services per JESD46, latest issue, and to discontinue any product or service per JESD48, latest
issue. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and
complete. All semiconductor products (also referred to herein as “components”) are sold subject to TI’s terms and conditions of sale
supplied at the time of order acknowledgment.
TI warrants performance of its components to the specifications applicable at the time of sale, in accordance with the warranty in TI’s terms
and conditions of sale of semiconductor products. Testing and other quality control techniques are used to the extent TI deems necessary
to support this warranty. Except where mandated by applicable law, testing of all parameters of each component is not necessarily
performed.
TI assumes no liability for applications assistance or the design of Buyers’ products. Buyers are responsible for their products and
applications using TI components. To minimize the risks associated with Buyers’ products and applications, Buyers should provide
adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or
other intellectual property right relating to any combination, machine, or process in which TI components or services are used. Information
published by TI regarding third-party products or services does not constitute a license to use such products or services or a warranty or
endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the
third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of significant portions of TI information in TI data books or data sheets is permissible only if reproduction is without alteration
and is accompanied by all associated warranties, conditions, limitations, and notices. TI is not responsible or liable for such altered
documentation. Information of third parties may be subject to additional restrictions.
Resale of TI components or services with statements different from or beyond the parameters stated by TI for that component or service
voids all express and any implied warranties for the associated TI component or service and is an unfair and deceptive business practice.
TI is not responsible or liable for any such statements.
Buyer acknowledges and agrees that it is solely responsible for compliance with all legal, regulatory and safety-related requirements
concerning its products, and any use of TI components in its applications, notwithstanding any applications-related information or support
that may be provided by TI. Buyer represents and agrees that it has all the necessary expertise to create and implement safeguards which
anticipate dangerous consequences of failures, monitor failures and their consequences, lessen the likelihood of failures that might cause
harm and take appropriate remedial actions. Buyer will fully indemnify TI and its representatives against any damages arising out of the use
of any TI components in safety-critical applications.
In some cases, TI components may be promoted specifically to facilitate safety-related applications. With such components, TI’s goal is to
help enable customers to design and create their own end-product solutions that meet applicable functional safety standards and
requirements. Nonetheless, such components are subject to these terms.
No TI components are authorized for use in FDA Class III (or similar life-critical medical equipment) unless authorized officers of the parties
have executed a special agreement specifically governing such use.
Only those TI components which TI has specifically designated as military grade or “enhanced plastic” are designed and intended for use in
military/aerospace applications or environments. Buyer acknowledges and agrees that any military or aerospace use of TI components
which have not been so designated is solely at the Buyer's risk, and that Buyer is solely responsible for compliance with all legal and
regulatory requirements in connection with such use.
TI has specifically designated certain components as meeting ISO/TS16949 requirements, mainly for automotive use. In any case of use of
non-designated products, TI will not be responsible for any failure to meet ISO/TS16949.
Products Applications
Audio www.ti.com/audio Automotive and Transportation www.ti.com/automotive
Amplifiers amplifier.ti.com Communications and Telecom www.ti.com/communications
Data Converters dataconverter.ti.com Computers and Peripherals www.ti.com/computers
DLP® Products www.dlp.com Consumer Electronics www.ti.com/consumer-apps
DSP dsp.ti.com Energy and Lighting www.ti.com/energy
Clocks and Timers www.ti.com/clocks Industrial www.ti.com/industrial
Interface interface.ti.com Medical www.ti.com/medical
Logic logic.ti.com Security www.ti.com/security
Power Mgmt power.ti.com Space, Avionics and Defense www.ti.com/space-avionics-defense
Microcontrollers microcontroller.ti.com Video and Imaging www.ti.com/video
RFID www.ti-rfid.com
OMAP Applications Processors www.ti.com/omap TI E2E Community e2e.ti.com
Wireless Connectivity www.ti.com/wirelessconnectivity
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright © 2015, Texas Instruments Incorporated