ATSAML21G18B DMAC registers

The 23 registers of DMAC (Direct Memory Access Controller), from 0x44000400, with their reset value and every field. The ATSAML21G18B has 1265 registers in 40 peripherals, one page each.

DMAC Direct Memory Access Controller

CTRLControl

Address
0x44000400
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
LVLEN311Priority Level 3 Enable
LVLEN210Priority Level 2 Enable
LVLEN19Priority Level 1 Enable
LVLEN08Priority Level 0 Enable
CRCENABLE2CRC Enable
DMAENABLE1DMA Enable
SWRST0Software Reset

CRCCTRLCRC Control

Address
0x44000402
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
CRCSRC13:8CRC Input Source
  • 0 No action
  • 1 I/O interface
CRCPOLY3:2CRC Polynomial Type
  • 0 CRC-16 (CRC-CCITT)
  • 1 CRC32 (IEEE 802.3)
CRCBEATSIZE1:0CRC Beat Size
  • 0 8-bit bus transfer
  • 1 16-bit bus transfer
  • 2 32-bit bus transfer

CRCDATAINCRC Data Input

Address
0x44000404
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
CRCDATAIN31:0CRC Data Input

CRCCHKSUMCRC Checksum

Address
0x44000408
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
CRCCHKSUM31:0CRC Checksum

CRCSTATUSCRC Status

Address
0x4400040C
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1CRCZERO
  8. 0CRCBUSY
2 fields
FieldBitsWhat it does
CRCZERO1CRC Zero
CRCBUSY0CRC Module Busy

DBGCTRLDebug Control

Address
0x4400040D
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0DBGRUN
1 field
FieldBitsWhat it does
DBGRUN0Debug Run

QOSCTRLQOS Control

Address
0x4400040E
Reset
0x2A
Access
read/write
  1. 7–
  2. 6–
  3. 5DQOS1
  4. 4DQOS0
  5. 3FQOS1
  6. 2FQOS0
  7. 1WRBQOS1
  8. 0WRBQOS0
3 fields
FieldBitsWhat it does
DQOS5:4Data Transfer Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency
FQOS3:2Fetch Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency
WRBQOS1:0Write-Back Quality of Service
  • 0 Background (no sensitive operation)
  • 1 Sensitive Bandwidth
  • 2 Sensitive Latency
  • 3 Critical Latency

SWTRIGCTRLSoftware Trigger Control

Address
0x44000410
Reset
0x00000000
Access
read/write
Size
32-bit
16 fields
FieldBitsWhat it does
SWTRIG1515Channel 15 Software Trigger
SWTRIG1414Channel 14 Software Trigger
SWTRIG1313Channel 13 Software Trigger
SWTRIG1212Channel 12 Software Trigger
SWTRIG1111Channel 11 Software Trigger
SWTRIG1010Channel 10 Software Trigger
SWTRIG99Channel 9 Software Trigger
SWTRIG88Channel 8 Software Trigger
SWTRIG77Channel 7 Software Trigger
SWTRIG66Channel 6 Software Trigger
SWTRIG55Channel 5 Software Trigger
SWTRIG44Channel 4 Software Trigger
SWTRIG33Channel 3 Software Trigger
SWTRIG22Channel 2 Software Trigger
SWTRIG11Channel 1 Software Trigger
SWTRIG00Channel 0 Software Trigger

PRICTRL0Priority Control 0

Address
0x44000414
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
FieldBitsWhat it does
LVLPRI327:24Level 3 Channel Priority Number
RRLVLEN223Level 2 Round-Robin Scheduling Enable
LVLPRI219:16Level 2 Channel Priority Number
RRLVLEN115Level 1 Round-Robin Scheduling Enable
LVLPRI111:8Level 1 Channel Priority Number
RRLVLEN07Level 0 Round-Robin Scheduling Enable
  • 0 Static arbitration scheme for channels with level 3 priority
  • 1 Round-robin arbitration scheme for channels with level 3 priority
LVLPRI03:0Level 0 Channel Priority Number
RRLVLEN331Level 3 Round-Robin Scheduling Enable

INTPENDInterrupt Pending

Address
0x44000420
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
PEND15Pending
BUSY14Busy
FERR13Fetch Error
SUSP10Channel Suspend
TCMPL9Transfer Complete
TERR8Transfer Error
ID3:0Channel ID

INTSTATUSInterrupt Status

Address
0x44000424
Reset
0x00000000
Access
read only
Size
32-bit
16 fields
FieldBitsWhat it does
CHINT1515Channel 15 Pending Interrupt
CHINT1414Channel 14 Pending Interrupt
CHINT1313Channel 13 Pending Interrupt
CHINT1212Channel 12 Pending Interrupt
CHINT1111Channel 11 Pending Interrupt
CHINT1010Channel 10 Pending Interrupt
CHINT99Channel 9 Pending Interrupt
CHINT88Channel 8 Pending Interrupt
CHINT77Channel 7 Pending Interrupt
CHINT66Channel 6 Pending Interrupt
CHINT55Channel 5 Pending Interrupt
CHINT44Channel 4 Pending Interrupt
CHINT33Channel 3 Pending Interrupt
CHINT22Channel 2 Pending Interrupt
CHINT11Channel 1 Pending Interrupt
CHINT00Channel 0 Pending Interrupt

BUSYCHBusy Channels

Address
0x44000428
Reset
0x00000000
Access
read only
Size
32-bit
16 fields
FieldBitsWhat it does
BUSYCH1515Busy Channel 15
BUSYCH1414Busy Channel 14
BUSYCH1313Busy Channel 13
BUSYCH1212Busy Channel 12
BUSYCH1111Busy Channel 11
BUSYCH1010Busy Channel 10
BUSYCH99Busy Channel 9
BUSYCH88Busy Channel 8
BUSYCH77Busy Channel 7
BUSYCH66Busy Channel 6
BUSYCH55Busy Channel 5
BUSYCH44Busy Channel 4
BUSYCH33Busy Channel 3
BUSYCH22Busy Channel 2
BUSYCH11Busy Channel 1
BUSYCH00Busy Channel 0

PENDCHPending Channels

Address
0x4400042C
Reset
0x00000000
Access
read only
Size
32-bit
16 fields
FieldBitsWhat it does
PENDCH1515Pending Channel 15
PENDCH1414Pending Channel 14
PENDCH1313Pending Channel 13
PENDCH1212Pending Channel 12
PENDCH1111Pending Channel 11
PENDCH1010Pending Channel 10
PENDCH99Pending Channel 9
PENDCH88Pending Channel 8
PENDCH77Pending Channel 7
PENDCH66Pending Channel 6
PENDCH55Pending Channel 5
PENDCH44Pending Channel 4
PENDCH33Pending Channel 3
PENDCH22Pending Channel 2
PENDCH11Pending Channel 1
PENDCH00Pending Channel 0

ACTIVEActive Channel and Levels

Address
0x44000430
Reset
0x00000000
Access
read only
Size
32-bit
7 fields
FieldBitsWhat it does
ABUSY15Active Channel Busy
ID12:8Active Channel ID
LVLEX33Level 3 Channel Trigger Request Executing
LVLEX22Level 2 Channel Trigger Request Executing
LVLEX11Level 1 Channel Trigger Request Executing
LVLEX00Level 0 Channel Trigger Request Executing
BTCNT31:16Active Channel Block Transfer Count

BASEADDRDescriptor Memory Section Base Address

Address
0x44000434
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
BASEADDR31:0Descriptor Memory Base Address

WRBADDRWrite-Back Memory Section Base Address

Address
0x44000438
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
FieldBitsWhat it does
WRBADDR31:0Write-Back Memory Base Address

CHIDChannel ID

Address
0x4400043F
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3ID3
  6. 2ID2
  7. 1ID1
  8. 0ID0
1 field
FieldBitsWhat it does
ID3:0Channel ID

CHCTRLAChannel Control A

Address
0x44000440
Reset
0x00
Access
read/write
  1. 7–
  2. 6RUNSTDBY
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1ENABLE
  8. 0SWRST
3 fields
FieldBitsWhat it does
RUNSTDBY6Channel run in standby
ENABLE1Channel Enable
SWRST0Channel Software Reset

CHCTRLBChannel Control B

Address
0x44000444
Reset
0x00000000
Access
read/write
Size
32-bit
7 fields
FieldBitsWhat it does
CMD25:24Software Command
  • 0 No action
  • 1 Channel suspend operation
  • 2 Channel resume operation
TRIGACT23:22Trigger Action
  • 0 One trigger required for each block transfer
  • 2 One trigger required for each beat transfer
  • 3 One trigger required for each transaction
TRIGSRC13:8Trigger Source
  • 0 Only software/event triggers
LVL6:5Channel Arbitration Level
  • 0 Channel Priority Level 0
  • 1 Channel Priority Level 1
  • 2 Channel Priority Level 2
  • 3 Channel Priority Level 3
EVOE4Channel Event Output Enable
EVIE3Channel Event Input Enable
EVACT2:0Event Input Action
  • 0 No action
  • 1 Transfer and periodic transfer trigger
  • 2 Conditional transfer trigger
  • 3 Conditional block transfer
  • 4 Channel suspend operation
  • 5 Channel resume operation
  • 6 Skip next block suspend action

CHINTENCLRChannel Interrupt Enable Clear

Address
0x4400044C
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Channel Suspend Interrupt Enable
TCMPL1Channel Transfer Complete Interrupt Enable
TERR0Channel Transfer Error Interrupt Enable

CHINTENSETChannel Interrupt Enable Set

Address
0x4400044D
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Channel Suspend Interrupt Enable
TCMPL1Channel Transfer Complete Interrupt Enable
TERR0Channel Transfer Error Interrupt Enable

CHINTFLAGChannel Interrupt Flag Status and Clear

Address
0x4400044E
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2SUSP
  7. 1TCMPL
  8. 0TERR
3 fields
FieldBitsWhat it does
SUSP2Channel Suspend
TCMPL1Channel Transfer Complete
TERR0Channel Transfer Error

CHSTATUSChannel Status

Address
0x4400044F
Reset
0x00
Access
read only
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2FERR
  7. 1BUSY
  8. 0PEND
3 fields
FieldBitsWhat it does
FERR2Channel Fetch Error
BUSY1Channel Busy
PEND0Channel Pending