SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The device EVE integrated EDMA controller instance (EDMA3_0_CC0) which is functionally identical with the device EDMA controller instances (EDMA_TPCC, EDMA_TPTC0 and EDMA_TPTC1). The only difference is that the EDMA3_0_CC0 instance is located at different physical addresses.
EDMA is a DMA engine for transfers between the system memory (DDR and L3 SRAM) and EVE internal memories. For more detailed description of EDMA controller, see Enhanced DMA, in Enhanced DMA.
Figure 8-10 is a high-level overview figure of the EDMA controller embedded in the EVE subsystem. The figure shows two major components:
The ARP32 submits requests to the channel controller, which in turn submits transfer requests (TRs) to the appropriate transfer controller. Interrupts are posted in the EDMA CC upon transfer completion (if requested) and signaled to ARP32 core.
The EDMA is configured with two queues (in the CC) and two TC instances. The two TC instances offer maximum performance and concurrency for the case where simultaneous transfers occur between two different system-level endpoints, and two different EVE internal memories. For typical use cases, it is expected that transfers involving EMIF or DDR and L3 SRAM are mapped to two different TCs (TC0 for EMIF-related requests and TC1 for L3 SRAM related requests). For example, EMIF or DDR to IBUFL in parallel with IBUFH to L3 SRAM can be processed with maximum performance.
Table 8-10 shows the specific EDMA configuration for the available resources on EVE.
Name | Description | Configuration |
---|---|---|
NUM_DMACH | Number of EDMA channels | 16 |
NUM_QDMACH | Number of QDMA channels | 8 |
NUM_INTCH | Number of interrupt channels | 16 |
NUM_PARAMENTRY | Number of PaRAM entries | 128 |
NUM_EVQUE | Number of event queues | 2 |
NUM_TC | Number of TPTC interfaces | 2 |
MPEXIST | Memory protection exitsts | No |
NUM_REGIONS | Number of MP and shadow regions | 8 |
CHMAPEXIST | Channel mapping exists | Yes |