37.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.

Table 37-1. DMA Configuration vs. Peripheral
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.

Table 37-2. DMA Channels Definitions (XDMAC0)
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.

Table 37-3. DMA Channels Definitions (XDMAC1)
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