22.8.16 Channel Control A

Name: CHCTRLA
Offset: 0x40 + n*0x10 [n=0..15]
Reset: 0x00000000
Property: PAC Write-Protection, Enable-Protected

Bit 3130292827262524 
   THRESHOLD[1:0]BURSTLEN[3:0] 
Access R/WR/WR/WR/WR/WR/W 
Reset 000000 
Bit 2322212019181716 
   TRIGACT[1:0]     
Access R/WR/W 
Reset 00 
Bit 15141312111098 
 TRIGSRC[7:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 76543210 
  RUNSTDBY    ENABLESWRST 
Access R/WR/WR/W 
Reset 000 

Bits 29:28 – THRESHOLD[1:0] FIFO Threshold

These bits define the threshold from which the DMA starts to write to the destination. These bits have no effect in the case of single beat transfers.

These bits are not enable-protected.

ValueNameDescription
0x01BEATDestination write starts after each beat source addess read
0x12BEATSDestination write starts after 2-beats source address read
0x24BEATSDestination write starts after 4-beats source address read
0x38BEATSDestination write starts after 8-beats source address read

Bits 27:24 – BURSTLEN[3:0] Burst Length

These bits define the burst mode.

These bits are not enable-protected.

ValueNameDescription
0x0SINGLESingle-beat burst
0x12BEAT2-beats burst length
0x23BEAT3-beats burst length
0x34BEAT4-beats burst length
0x45BEAT5-beats burst length
0x56BEAT6-beats burst length
0x67BEAT7-beats burst length
0x78BEAT8-beats burst length
0x89BEAT9-beats burst length
0x910BEAT10-beats burst length
0xA11BEAT11-beats burst length
0xB12BEAT12-beats burst length
0xC13BEAT13-beats burst length
0xD14BEAT14-beats burst length
0xE15BEAT15-beats burst length
0xF16BEAT16-beats burst length

Bits 21:20 – TRIGACT[1:0] Trigger Action

These bits define the trigger action used for a transfer.

These bits are not enable-protected.

ValueNameDescription
0x0BLOCKOne trigger required for each block transfer
0x1Reserved
0x2BURSTOne trigger required for each burst transfer
0x3TRANSACTIONOne trigger required for each transaction

Bits 15:8 – TRIGSRC[7:0] Trigger Source

These bits define the peripheral that will be the source of a trigger.
Table 22-2. Triggers Map
NumberName
0Unused (Tied to 1'b0)
1RTC_DMAC_ID_TIMESTAMP
2DSU_DMAC_ID_DCC0
3DSU_DMAC_ID_DCC1
4SERCOM0_DMAC_ID_RX
5SERCOM0_DMAC_ID_TX
6SERCOM1_DMAC_ID_RX
7SERCOM1_DMAC_ID_TX
8SERCOM2_DMAC_ID_RX
9SERCOM2_DMAC_ID_TX
10SERCOM3_DMAC_ID_RX
11SERCOM3_DMAC_ID_TX
12TCC0_DMAC_ID_OVF
13TCC0_DMAC_ID_MC_0
14TCC0_DMAC_ID_MC_1
15TCC0_DMAC_ID_MC_2
16TCC0_DMAC_ID_MC_3
17TCC0_DMAC_ID_MC_4
18TCC0_DMAC_ID_MC_5
19TCC1_DMAC_ID_OVF
20TCC1_DMAC_ID_MC_0
21TCC1_DMAC_ID_MC_1
22TCC1_DMAC_ID_MC_2
23TCC1_DMAC_ID_MC_3
24TCC1_DMAC_ID_MC_4
25TCC1_DMAC_ID_MC_5
26TCC2_DMAC_ID_OVF
27TCC2_DMAC_ID_MC_0
28TCC2_DMAC_ID_MC_1
29TC0_DMAC_ID_OVF
30TC0_DMAC_ID_MC_0
31TC0_DMAC_ID_MC_1
32TC1_DMAC_ID_OVF
33TC1_DMAC_ID_MC_0
34TC1_DMAC_ID_MC_1
35TC2_DMAC_ID_OVF
36TC2_DMAC_ID_MC_0
37TC2_DMAC_ID_MC_1
38TC3_DMAC_ID_OVF
39TC3_DMAC_ID_MC_0
40TC3_DMAC_ID_MC_1
41AES_DMAC_ID_WR
42AES_DMAC_ID_RD
43QSPI_DMAC_ID_RX
44QSPI_DMAC_ID_TX

Bit 6 – RUNSTDBY Channel run in standby

This bit is used to keep the DMAC channel running in standby mode.

This bit is not enable-protected.

ValueDescription
0The DMAC channel is halted in standby.
1The DMAC channel continues to run in standby.

Bit 1 – ENABLE Channel Enable

Writing a ‘0’ to this bit during an ongoing transfer, the bit will not be cleared until the internal data transfer buffer is empty and the DMA transfer is aborted. The internal data transfer buffer will be empty once the ongoing burst transfer is completed.

Writing a ‘1’ to this bit will enable the DMA channel.

This bit is not enable-protected.

ValueDescription
0DMA channel is disabled.
1DMA channel is enabled.

Bit 0 – SWRST Channel Software Reset

Writing a ‘0’ to this bit has no effect.

Writing a ‘1’ to this bit resets the channel registers to their initial state. The bit can be set when the channel is disabled (ENABLE=0). Writing a ‘1’ to this bit will be ignored as long as ENABLE=1. This bit is automatically cleared when the reset is completed.

ValueDescription
0There is no reset operation ongoing.
1The reset operation is ongoing.