38.4 DMA Controller Peripheral Connections
The SAMA5D2 features two DMACs: XDMAC0 and XDMAC1. Both have the same features:
- Programmable secure access
- Two 64-bit hosts
- 16 channels and 55 hardware requests embedded
- Sixteen 64-bit-word FIFOs on all channels
- Linked list support with status write back operation at end of transfer
- Word, half-word, byte transfer support
- Memory-to-memory transfer
- Peripheral-to-memory transfer
- Memory-to-peripheral transfer
The DMA controller can handle the transfer between peripherals and memory and so receives the triggers from the peripherals below.
The following table gives an overview of the different access when secure/non-secure DMA needs to access a secure/non-secure peripheral, and when a secure/non-secure peripheral needs to access secure/non-secure DMA.
Peripheral | DMA | |
---|---|---|
Secure | Non-secure | |
Secure | x | – |
Non-secure | x | x |
DMA Controller 0 manages transfers between peripherals and memory, and receives the triggers from the peripherals listed in the following table.
Instance Name | Channel T/R | Interface Number | XDMAC_CCx.CSIZE Required Value |
---|---|---|---|
TWIHS0 | Transmit | 0 | 0 |
TWIHS0 | Receive | 1 | |
TWIHS1 | Transmit | 2 | 0 |
TWIHS1 | Receive | 3 | |
QSPI0 | Transmit | 4 | 0 |
QSPI0 | Receive | 5 | |
SPI0 | Transmit | 6 | 0 |
SPI0 | Receive | 7 | |
SPI1 | Transmit | 8 | 0 |
SPI1 | Receive | 9 | |
PWM | Transmit | 10 | 0 |
FLEXCOM0 | Transmit | 11 | 0 |
FLEXCOM0 | Receive | 12 | |
FLEXCOM1 | Transmit | 13 | 0 |
FLEXCOM1 | Receive | 14 | |
FLEXCOM2 | Transmit | 15 | 0 |
FLEXCOM2 | Receive | 16 | |
FLEXCOM3 | Transmit | 17 | 0 |
FLEXCOM3 | Receive | 18 | |
FLEXCOM4 | Transmit | 19 | 0 |
FLEXCOM4 | Receive | 20 | |
SSC0 | Transmit | 21 | 0 |
SSC0 | Receive | 22 | |
SSC1 | Transmit | 23 | 0 |
SSC1 | Receive | 24 | |
ADC | Receive | 25 | 0 |
AES | Transmit | 26 | 0 or 2 (refer to chapter AES, section Start Mode, subsection DMA Mode) |
AES | Receive | 27 | |
TDES | Transmit | 28 | 0 |
TDES | Receive | 29 | |
SHA | Transmit | 30 | 4 |
I2SC0 | Transmit | 31 | 0 |
I2SC0 | Receive | 32 | |
I2SC1 | Transmit | 33 | 0 |
I2SC1 | Receive | 34 | |
UART0 | Transmit | 35 | 0 |
UART0 | Receive | 36 | |
UART1 | Transmit | 37 | 0 |
UART1 | Receive | 38 | |
UART2 | Transmit | 39 | 0 |
UART2 | Receive | 40 | |
UART3 | Transmit | 41 | 0 |
UART3 | Receive | 42 | |
UART4 | Transmit | 43 | 0 |
UART4 | Receive | 44 | |
TC0 | Receive | 45 | 0 |
TC1 | Receive | 46 | |
CLASSD | Transmit | 47 | 0 |
QSPI1 | Transmit | 48 | 0 |
QSPI1 | Receive | 49 | |
PDMIC | Receive | 50 | 0 |
DMA Controller 1 manages transfers between peripherals and memory, and receives the triggers from the peripherals listed in the following table.
Instance Name | Channel T/R | Interface Number | XDMAC_CCx.CSIZE Required Value |
---|---|---|---|
TWIHS0 | Transmit | 0 | 0 |
TWIHS0 | Receive | 1 | |
TWIHS1 | Transmit | 2 | 0 |
TWIHS1 | Receive | 3 | |
QSPI0 | Transmit | 4 | 0 |
QSPI0 | Receive | 5 | |
SPI0 | Transmit | 6 | 0 |
SPI0 | Receive | 7 | |
SPI1 | Transmit | 8 | 0 |
SPI1 | Receive | 9 | |
PWM | Transmit | 10 | 0 |
FLEXCOM0 | Transmit | 11 | 0 |
FLEXCOM0 | Receive | 12 | |
FLEXCOM1 | Transmit | 13 | 0 |
FLEXCOM1 | Receive | 14 | |
FLEXCOM2 | Transmit | 15 | 0 |
FLEXCOM2 | Receive | 16 | |
FLEXCOM3 | Transmit | 17 | 0 |
FLEXCOM3 | Receive | 18 | |
FLEXCOM4 | Transmit | 19 | 0 |
FLEXCOM4 | Receive | 20 | |
SSC0 | Transmit | 21 | 0 |
SSC0 | Receive | 22 | |
SSC1 | Transmit | 23 | 0 |
SSC1 | Receive | 24 | |
ADC | Receive | 25 | 0 |
AES | Transmit | 26 | 0 or 2 (refer to chapter AES, section Start Mode, subsection DMA Mode) |
AES | Receive | 27 | |
TDES | Transmit | 28 | 0 |
TDES | Receive | 29 | |
SHA | Transmit | 30 | 4 |
I2SC0 | Transmit | 31 | 0 |
I2SC0 | Receive | 32 | |
I2SC1 | Transmit | 33 | 0 |
I2SC1 | Receive | 34 | |
UART0 | Transmit | 35 | 0 |
UART0 | Receive | 36 | |
UART1 | Transmit | 37 | 0 |
UART1 | Receive | 38 | |
UART2 | Transmit | 39 | 0 |
UART2 | Receive | 40 | |
UART3 | Transmit | 41 | 0 |
UART3 | Receive | 42 | |
UART4 | Transmit | 43 | 0 |
UART4 | Receive | 44 | |
TC0 | Receive | 45 | 0 |
TC1 | Receive | 46 | |
CLASSD | Transmit | 47 | 0 |
QSPI1 | Transmit | 48 | 0 |
QSPI1 | Receive | 49 | |
PDMIC | Receive | 50 | 0 |