\n
address_offset : 0x0 Bytes (0x0)
size : 0x56C byte (0x0)
mem_usage : registers
protection : not protected
CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[7]-CHANNEL[6]-CHANNEL[5]-CHANNEL[4]-CHANNEL[3]-CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CFG
CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-CTLSTAT
CHANNEL[2]-CHANNEL[1]-CHANNEL[0]-XFERCFG
DMA control.
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ENABLE : DMA controller master enable.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. The DMA controller is disabled. This clears any triggers that were asserted at the point when disabled, but does not prevent re-triggering when the DMA controller is re-enabled.
0x1 : ENABLED
Enabled. The DMA controller is enabled.
End of enumeration elements list.
Configuration register for DMA channel .
address_offset : 0x1060 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x1064 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x1068 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x14A0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x14A4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x14A8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x18F0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x18F4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x18F8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x1D50 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x1D54 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x1D58 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Channel Enable read and Set for all DMA channels.
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ENA : Enable for DMA channels. Bit n enables or disables DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = disabled. 1 = enabled.
bits : 0 - 31 (32 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x21C0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x21C4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x21C8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x2640 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x2644 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x2648 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Channel Enable Clear for all DMA channels.
address_offset : 0x28 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
CLR : Writing ones to this register clears the corresponding bits in ENABLESET0. Bit n clears the channel enable bit n. The number of bits = number of DMA channels in this device. Other bits are reserved.
bits : 0 - 31 (32 bit)
access : write-only
Configuration register for DMA channel .
address_offset : 0x2AD0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x2AD4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x2AD8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x2F70 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x2F74 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x2F78 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Channel Active status for all DMA channels.
address_offset : 0x30 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
ACT : Active flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = not active. 1 = active.
bits : 0 - 31 (32 bit)
access : read-only
Configuration register for DMA channel .
address_offset : 0x3420 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x3424 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x3428 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Channel Busy status for all DMA channels.
address_offset : 0x38 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
BSY : Busy flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = not busy. 1 = busy.
bits : 0 - 31 (32 bit)
access : read-only
Configuration register for DMA channel .
address_offset : 0x38E0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x38E4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x38E8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x3DB0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x3DB4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x3DB8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Interrupt status.
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
ACTIVEINT : Summarizes whether any enabled interrupts (other than error interrupts) are pending.
bits : 1 - 1 (1 bit)
access : read-only
Enumeration:
0 : NOT_PENDING
Not pending. No enabled interrupts are pending.
0x1 : PENDING
Pending. At least one enabled interrupt is pending.
End of enumeration elements list.
ACTIVEERRINT : Summarizes whether any error interrupts are pending.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_PENDING
Not pending. No error interrupts are pending.
0x1 : PENDING
Pending. At least one error interrupt is pending.
End of enumeration elements list.
Error Interrupt status for all DMA channels.
address_offset : 0x40 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
ERR : Error Interrupt flag for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = error interrupt is not active. 1 = error interrupt is active.
bits : 0 - 31 (32 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x400 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x404 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x408 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x4290 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x4294 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x4298 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x4780 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x4784 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x4788 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Interrupt Enable read and Set for all DMA channels.
address_offset : 0x48 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INTEN : Interrupt Enable read and set for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = interrupt for DMA channel is disabled. 1 = interrupt for DMA channel is enabled.
bits : 0 - 31 (32 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x4C80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x4C84 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x4C88 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Interrupt Enable Clear for all DMA channels.
address_offset : 0x50 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
CLR : Writing ones to this register clears corresponding bits in the INTENSET0. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved.
bits : 0 - 31 (32 bit)
access : write-only
Configuration register for DMA channel .
address_offset : 0x5190 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x5194 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x5198 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x56B0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x56B4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x56B8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Interrupt A status for all DMA channels.
address_offset : 0x58 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
IA : Interrupt A status for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = the DMA channel interrupt A is not active. 1 = the DMA channel interrupt A is active.
bits : 0 - 31 (32 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x5BE0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x5BE4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x5BE8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Interrupt B status for all DMA channels.
address_offset : 0x60 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
IB : Interrupt B status for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = the DMA channel interrupt B is not active. 1 = the DMA channel interrupt B is active.
bits : 0 - 31 (32 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x6120 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x6124 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x6128 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x6670 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x6674 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x6678 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Set ValidPending control bits for all DMA channels.
address_offset : 0x68 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
SV : SETVALID control for DMA channel n. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = no effect. 1 = sets the VALIDPENDING control bit for DMA channel n
bits : 0 - 31 (32 bit)
access : write-only
Configuration register for DMA channel .
address_offset : 0x6BD0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x6BD4 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x6BD8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Set Trigger control bits for all DMA channels.
address_offset : 0x70 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
TRIG : Set Trigger control bit for DMA channel 0. Bit n corresponds to DMA channel n. The number of bits = number of DMA channels in this device. Other bits are reserved. 0 = no effect. 1 = sets the TRIG bit for DMA channel n.
bits : 0 - 31 (32 bit)
access : write-only
Channel Abort control for all DMA channels.
address_offset : 0x78 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
ABORTCTRL : Abort control for DMA channel 0. Bit n corresponds to DMA channel n. 0 = no effect. 1 = aborts DMA operations on channel n.
bits : 0 - 31 (32 bit)
access : write-only
SRAM address of the channel configuration table.
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
OFFSET : Address bits 31:9 of the beginning of the DMA descriptor table. For 18 channels, the table must begin on a 512 byte boundary.
bits : 9 - 31 (23 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0x810 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0x814 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0x818 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Configuration register for DMA channel .
address_offset : 0xC30 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
PERIPHREQEN : Peripheral request Enable. If a DMA channel is used to perform a memory-to-memory move, any peripheral DMA request associated with that channel can be disabled to prevent any interaction between the peripheral and the DMA controller.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Peripheral DMA requests are disabled.
0x1 : ENABLED
Enabled. Peripheral DMA requests are enabled.
End of enumeration elements list.
HWTRIGEN : Hardware Triggering Enable for this channel.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Hardware triggering is not used.
0x1 : ENABLED
Enabled. Use hardware triggering.
End of enumeration elements list.
TRIGPOL : Trigger Polarity. Selects the polarity of a hardware trigger for this channel.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : ACTIVE_LOW_FALLING
Active low - falling edge. Hardware trigger is active low or falling edge triggered, based on TRIGTYPE.
0x1 : ACTIVE_HIGH_RISING
Active high - rising edge. Hardware trigger is active high or rising edge triggered, based on TRIGTYPE.
End of enumeration elements list.
TRIGTYPE : Trigger Type. Selects hardware trigger as edge triggered or level triggered.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : EDGE
Edge. Hardware trigger is edge triggered. Transfers will be initiated and completed, as specified for a single trigger.
0x1 : LEVEL
Level. Hardware trigger is level triggered. Note that when level triggering without burst (BURSTPOWER = 0) is selected, only hardware triggers should be used on that channel. Transfers continue as long as the trigger level is asserted. Once the trigger is de-asserted, the transfer will be paused until the trigger is, again, asserted. However, the transfer will not be paused until any remaining transfers within the current BURSTPOWER length are completed.
End of enumeration elements list.
TRIGBURST : Trigger Burst. Selects whether hardware triggers cause a single or burst transfer.
bits : 6 - 6 (1 bit)
access : read-write
Enumeration:
0 : SINGLE
Single transfer. Hardware trigger causes a single transfer.
0x1 : BURST
Burst transfer. When the trigger for this channel is set to edge triggered, a hardware trigger causes a burst transfer, as defined by BURSTPOWER. When the trigger for this channel is set to level triggered, a hardware trigger causes transfers to continue as long as the trigger is asserted, unless the transfer is complete.
End of enumeration elements list.
BURSTPOWER : Burst Power is used in two ways. It always selects the address wrap size when SRCBURSTWRAP and/or DSTBURSTWRAP modes are selected (see descriptions elsewhere in this register). When the TRIGBURST field elsewhere in this register = 1, Burst Power selects how many transfers are performed for each DMA trigger. This can be used, for example, with peripherals that contain a FIFO that can initiate a DMA operation when the FIFO reaches a certain level. 0000: Burst size = 1 (20). 0001: Burst size = 2 (21). 0010: Burst size = 4 (22). 1010: Burst size = 1024 (210). This corresponds to the maximum supported transfer count. others: not supported. The total transfer length as defined in the XFERCOUNT bits in the XFERCFG register must be an even multiple of the burst size.
bits : 8 - 11 (4 bit)
access : read-write
SRCBURSTWRAP : Source Burst Wrap. When enabled, the source data address for the DMA is 'wrapped', meaning that the source address range for each burst will be the same. As an example, this could be used to read several sequential registers from a peripheral for each DMA burst, reading the same registers again for each burst.
bits : 14 - 14 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Source burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Source burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
DSTBURSTWRAP : Destination Burst Wrap. When enabled, the destination data address for the DMA is 'wrapped', meaning that the destination address range for each burst will be the same. As an example, this could be used to write several sequential registers to a peripheral for each DMA burst, writing the same registers again for each burst.
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Destination burst wrapping is not enabled for this DMA channel.
0x1 : ENABLED
Enabled. Destination burst wrapping is enabled for this DMA channel.
End of enumeration elements list.
CHPRIORITY : Priority of this channel when multiple DMA requests are pending. Eight priority levels are supported: 0x0 = highest priority. 0x7 = lowest priority.
bits : 16 - 18 (3 bit)
access : read-write
Control and status register for DMA channel .
address_offset : 0xC34 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VALIDPENDING : Valid pending flag for this channel. This bit is set when a 1 is written to the corresponding bit in the related SETVALID register when CFGVALID = 1 for the same channel.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
0 : NO_EFFECT
No effect. No effect on DMA operation.
0x1 : VALID_PENDING
Valid pending.
End of enumeration elements list.
TRIG : Trigger flag. Indicates that the trigger for this channel is currently set. This bit is cleared at the end of an entire transfer or upon reload when CLRTRIG = 1.
bits : 2 - 2 (1 bit)
access : read-only
Enumeration:
0 : NOT_TRIGGERED
Not triggered. The trigger for this DMA channel is not set. DMA operations will not be carried out.
0x1 : TRIGGERED
Triggered. The trigger for this DMA channel is set. DMA operations will be carried out.
End of enumeration elements list.
Transfer configuration register for DMA channel .
address_offset : 0xC38 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CFGVALID : Configuration Valid flag. This bit indicates whether the current channel descriptor is valid and can potentially be acted upon, if all other activation criteria are fulfilled.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
0 : NOT_VALID
Not valid. The channel descriptor is not considered valid until validated by an associated SETVALID0 setting.
0x1 : VALID
Valid. The current channel descriptor is considered valid.
End of enumeration elements list.
RELOAD : Indicates whether the channel's control structure will be reloaded when the current descriptor is exhausted. Reloading allows ping-pong and linked transfers.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
0 : DISABLED
Disabled. Do not reload the channels' control structure when the current descriptor is exhausted.
0x1 : ENABLED
Enabled. Reload the channels' control structure when the current descriptor is exhausted.
End of enumeration elements list.
SWTRIG : Software Trigger.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
0 : NOT_SET
Not set. When written by software, the trigger for this channel is not set. A new trigger, as defined by the HWTRIGEN, TRIGPOL, and TRIGTYPE will be needed to start the channel.
0x1 : SET
Set. When written by software, the trigger for this channel is set immediately. This feature should not be used with level triggering when TRIGBURST = 0.
End of enumeration elements list.
CLRTRIG : Clear Trigger.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
0 : NOT_CLEARED
Not cleared. The trigger is not cleared when this descriptor is exhausted. If there is a reload, the next descriptor will be started.
0x1 : CLEARED
Cleared. The trigger is cleared when this descriptor is exhausted
End of enumeration elements list.
SETINTA : Set Interrupt flag A for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTA flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
SETINTB : Set Interrupt flag B for this channel. There is no hardware distinction between interrupt A and B. They can be used by software to assist with more complex descriptor usage. By convention, interrupt A may be used when only one interrupt flag is needed.
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
0 : NO_EFFECT
No effect.
0x1 : SET
Set. The INTB flag for this channel will be set when the current descriptor is exhausted.
End of enumeration elements list.
WIDTH : Transfer width used for this DMA channel.
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0 : BIT_8
8-bit. 8-bit transfers are performed (8-bit source reads and destination writes).
0x1 : BIT_16
16-bit. 6-bit transfers are performed (16-bit source reads and destination writes).
0x2 : BIT_32
32-bit. 32-bit transfers are performed (32-bit source reads and destination writes).
End of enumeration elements list.
SRCINC : Determines whether the source address is incremented for each DMA transfer.
bits : 12 - 13 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The source address is not incremented for each transfer. This is the usual case when the source is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The source address is incremented by the amount specified by Width for each transfer. This is the usual case when the source is memory.
0x2 : WIDTH_X_2
2 x width. The source address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The source address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
DSTINC : Determines whether the destination address is incremented for each DMA transfer.
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0 : NO_INCREMENT
No increment. The destination address is not incremented for each transfer. This is the usual case when the destination is a peripheral device.
0x1 : WIDTH_X_1
1 x width. The destination address is incremented by the amount specified by Width for each transfer. This is the usual case when the destination is memory.
0x2 : WIDTH_X_2
2 x width. The destination address is incremented by 2 times the amount specified by Width for each transfer.
0x3 : WIDTH_X_4
4 x width. The destination address is incremented by 4 times the amount specified by Width for each transfer.
End of enumeration elements list.
XFERCOUNT : Total number of transfers to be performed, minus 1 encoded. The number of bytes transferred is: (XFERCOUNT + 1) x data width (as defined by the WIDTH field). The DMA controller uses this bit field during transfer to count down. Hence, it cannot be used by software to read back the size of the transfer, for instance, in an interrupt handler. 0x0 = a total of 1 transfer will be performed. 0x1 = a total of 2 transfers will be performed. 0x3FF = a total of 1,024 transfers will be performed.
bits : 16 - 25 (10 bit)
access : read-write
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.