This register provides control for the Memory Map to Stream DMA Channel.
Bits | Field Name | Default Value | Access Type | 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 potentially terminated early. 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 Read. Setting this bit to 1 causes AXI DMA to initiate
MM2S reads (AXI4 read) in non-incrementing address mode (Fixed
Address Burst transfer on AXI4). This bit can be updated when AXI
DMA is in idle. When using keyhole operation the Max Burst Length
should not exceed 16. This bit should not be set when DRE is
enabled. This bit is non functional when the multichannel feature is enabled or in Direct Register mode. |
4 | Cyclic BD Enable | 0 | R/W | When set to 1, the DMA operates 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 bit set, you
can use the same BDs in cyclic manner without worrying about any
stale descriptor errors. This bit should be set/unset only when the DMA is idle or when not running. Updating this bit while the DMA is running can result in unexpected behavior. This bit is non functional when DMA operates in multichannel mode. |
11 to 5 | Reserved | 0 | RO | Writing to these bits has no effect, and they are always read as zeros. |
1 | IOC_IrqEn | 0 | R/W | Interrupt on Complete (IOC) Interrupt Enable. When set to 1,
allows DMASR.IOC_Irq to generate an interrupt out for descriptors
with the IOC bit set.
|
13 | Dly_IrqEn | 0 | R/W | Interrupt on Delay Timer Interrupt Enable. When set to 1, allows
DMASR.Dly_Irq to generate an interrupt out.
Note: This bit is ignored
when AXI DMA is configured for Direct Register
Mode.
|
14 | Err_IrqEn | 0 | R/W | Interrupt on Error Interrupt Enable.
|
15 | Reserved | 0 | RO | Writing to this bit has no effect and it is always read as zeros. |
23 to 16 | IRQ Threshold | 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: This field is ignored
when AXI DMA is configured for Direct Register
Mode.
|
31 to 24 | IRQ Delay | 00h | R/W | Interrupt Delay Time Out. This value is used for setting the interrupt
timeout value. The interrupt timeout mechanism causes the DMA engine
to generate an interrupt after the delay time period has expired.
Timer begins counting at the end of a packet and resets with 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: This field is ignored when
AXI DMA is configured for Direct Register Mode.
|