One Enhanced Data Movement
Architecture (EDMA) module can be used for efficient transfer of data and support
between software, firmware, and hardware in all combinations. The EDMA consists of a
single Channel Controller (TPCC) and two Transfer Controllers (TPTC) to enable
various data movement requirements.
The TPCC is a high flexible
channel controller that serves as both a user interface and an event interface for
the EDMA controller. The EDMA_TPCC serves to prioritize incoming software requests
or events from peripherals, and submits transfer requests (TRs) to the transfer
controller.
The TPTC performs read and
write transfers by EDMA ports to the target peripherals, as programmed in the Active
and Pending set of the registers. The transfer controllers are responsible for data
movement, and issue read/write commands to the source and destination addresses
programmed for a given transfer in the EDMA_TPCC.
The EDMA_TPCC channel
controller has the following features:
- Fully orthogonal transfer
description:
- Three transfer
dimensions
- A-synchronized transfers:
one dimension serviced per event
- AB-synchronized
transfers: two dimensions serviced per event
- Independent indexes on
source and destination
- Chaining feature allowing
a 3-D transfer based on a single event.
- Flexible transfer definition:
- Increment or FIFO
transfer 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
- 64 DMA request channels:
- Event
synchronization
- Manual synchronization
(CPUs write to event set registers EDMA_TPCC_ESR and
EDMA_TPCC_ESRH).
- Chain synchronization
(completion of one transfer triggers another transfer).
- Eight QDMA channels:
- QDMA channels trigger
automatically upon writing to a parameter RAM (PaRAM) set entry.
- Support for programmable
QDMA channel to PaRAM mapping.
- Each PaRAM set can be used for a
DMA channel, QDMA channel, or link set.
- Multiple transfer
controllers/event queues.
- 16 event entries per event
queue.
The EDMA_TPTC transfer
controller has the following features:
- 128-bit wide read and write
ports per TC
- Supports two-dimensional
transfers with independent indexes on source and destination (EDMA_TPCC
manages the third dimension)
- Support for increment or
constant addressing mode transfers
- Interrupt and error
support
- Memory-Mapped Register (MMR)
bit fields are fixed position in 32-bit MMR regardless of endianness