ADSP-SC58x/ADSP-2158x processors support two options to transfer the data between different on-chip and off-chip memories:
- MDMA: These are completely new as compared to the EPDMA on ADSP-214xx processors. The programming model of these DMA channels is similar to the most of the other DMA channels on ADSP-SC58x/ADSP-2158x processors. There are four dedicated MDMA streams of different bandwidth available. Unlike EPDMA, they can also perform two dimensional DMA. They also support features such as bandwidth limiting and monitoring. Unlike EPDMA, even though they don't have a dedicated support for delay line, scatter/gather DMA modes, these modes can be emulated by setting the DMA TCBs as per requirement. Unlike EPDMA which supports only 32 bit transfers, they support different types of word widths - 8, 16, 32, 64,… etc. For more details on MDMA, refer ADSP-SC58x/ADSP-2158x HRM.
EMDMA: This DMA module is similar to the EPDMA on ADSP-214xx processors. It supports all the DMA modes as supported by the EPDMA on ADSP-214xx processors. However, it can only transfer 32 bit words. As in ADSP-214xx, there are two such DMA modules EMDMA0 and EMDMA1 supported by ADSP-SC58x/ADSP-2158x processors.