This register provides control for the Stream to Memory Map DMA Channel.
Bits | Field Name | Default Value | Access | Description |
---|---|---|---|---|
0 | RS | 0 | R/W |
Run/Stop control for controlling running and stopping of the DMA channel.
|
1 | Reserved | 1 | RO | Writing to this bit has no effect, and is always read as 1. |
2 | Reset | 0 | R/W | Soft reset for resetting the AXI DMA core. Setting this bit to a
1 causes the AXI DMA to be reset. Reset is accomplished gracefully.
Pending commands/transfers are flushed or completed. AXI4-Stream outs are terminated early, if necessary with associated TLAST. Setting either MM2S_DMACR.Reset = 1 or S2MM_DMACR. Reset = 1 resets the entire AXI DMA engine. After completion of a soft reset, all registers and bits are in the Reset State.
|
3 | Keyhole | 0 | R/W | Keyhole Write. Setting this bit to 1 causes AXI DMA to initiate
S2MM writes (AXI4 Writes) in non-incrementing address mode (Fixed
Address Burst transfer on AXI4). This bit can be modified when AXI
DMA is in idle. When enabling Key hole operation the maximum burst
length cannot be more than 16. This bit should not be set when DRE
is enabled. This bit is non functional when DMA is used in multichannel mode. |
4 | Cyclic BD Enable | 0 | R/W | When set to 1, you can use the DMA in Cyclic Buffer Descriptor
(BD) mode without any user intervention. In this mode, the Scatter
Gather module ignores the 'Completed' bit of the BD. With this
feature, you can use the same BDs in cyclic manner without worrying
about any stale descriptor errors. This bit is non functional when DMA operates in MultiChannel mode or in Direct Register Mode. |
11 to 5 | Reserved | 0 | RO | Writing to these bits has no effect and they are always read as zeros. |
12 | IOC_IRqEn | 0 | R/W | Interrupt on Complete Interrupt Enable. When set to 1, allows
Interrupt On Complete events to generate an interrupt out for
descriptors with the "Complete bit" bit set.
|
13 | Dly_IrqEn | 0 | R/W | Interrupt on Delay Timer Interrupt Enable. When set to 1, allows
error events to generate an interrupt out.
Note: Applicable only when Scatter Gather
is enabled.
|
14 | Err_IrqEn | 0 | R/W | Interrupt on Error Interrupt Enable. When set to 1, allows error
events to generate an interrupt out.
|
15 | Reserved | 0 | RO | Writing to this bit has no effect, and it is always read as zeros. |
23 to 16 | IRQThreshold | 01h | R/W | Interrupt Threshold. This value is used for setting the interrupt
threshold. When IOC interrupt events occur, an internal counter
counts down from the Interrupt Threshold setting. When the count
reaches zero, an interrupt out is generated by the DMA engine. Note: The minimum setting for
the threshold is 0x01. A write of 0x00 to this register has no
effect.
Note: Applicable only when Scatter Gather is enabled.
|
31 to 24 | IRQDelay | 00h | R/W | Interrupt Delay Time Out. This value is used for setting the
interrupt timeout value. The interrupt timeout is a mechanism for
causing the DMA engine to generate an interrupt after the delay time
period has expired. The timer begins counting at the end of a packet
and resets with the receipt of a new packet or a timeout event
occurs. 1 Timeout Interval =125´ (clock period of SG clock) Setting a value of 3 here results in a delay timeout of 125 x 3 x (clock period of SG clock). Note: Setting this value
to zero disables the delay timer interrupt.
Note: Applicable only when Scatter Gather is
enabled.
|