8.4.1.3 CHANNEL_x_CONTROL Register Bit Definition

Table 8-7. CHANNEL_x_CONTROL
Bit NumberNameReset ValueDescription
[31:27]Reserved0Software must not rely on the value of a reserved bit. To provide compatibility with future products, the value of a reserved bit must be preserved across a read-modify-write operation.
[26:23]PERIPHERAL_SEL0Selects the peripheral assigned to this channel. See Table 8-8.
22Reserved0Reserved
[21:14]WRITE_ADJ0This field contains a binary value, indicating the number of M3_CLK periods which the PDMA must wait after completion of a read or write access to a peripheral before evaluating the out-of-band status signals from that peripheral for another transfer. This is typically used to ensure that a posted write has fully completed to the peripheral in cases where the peripheral is running at a lower clock frequency than the PDMA. However, it may also be used to allow the PDMA to take account of internal latencies in the peripheral, where the ready status of a FIFO may not be available for a number of clock ticks after a read or write, due to internal synchronization delays, for example, within the peripheral. This applies particularly in the case of user-designed peripherals in the FPGA fabric.
[13:12]DEST_ADDR_INC00This field controls the address increment at the destination end of the DMA transfer. The values indicate:

00: 0 bytes

01: 1 byte

10: 2 bytes

11: 4 bytes

[11:10]SRC_ADDR_INC00This field controls the address increment at the source end of the DMA transfer. The values indicate:

00: 0 bytes

01: 1 byte

10: 2 bytes

11: 4 bytes

9HI_PRIORITY0When asserted, this channel is treated as high priority by the arbitration state machine.
8CLR_COMP_B0When asserted, clears the CH_COMP_B bit in the channel status register and the buffer status register for this buffer in this channel. This causes PDMAINTERRUPT to negate if not being held asserted by another channel. This bit always reads back as zero.
7CLR_COMP_A0When asserted, clears the CH_COMP_A bit in the channel status register and the buffer status register for this buffer in this channel. This causes PDMAINTERRUPT to negate if not being held asserted by another channel. This bit always reads back as zero.
6INTEN0When asserted, a DMA completion on this channel causes PDMAINTERRUPT to assert.
5RESET0When asserted, resets this channel. Always reads back as zero.
4PAUSE0When asserted, pauses the transfers for this channel.
[3:2]TRANSFER_SIZE00This field determines the data width of each DMA transfer cycle for this DMA channel. The allowed values are:

00: Byte (8 bits)

01: Halfword (16 bits)

10: Word (32 bits)

11: Reserved

1DIR0If PERIPHERAL_DMA = 1, then this bit is valid. If so, then the values of this bit indicate:

0: Peripheral to memory

1: Memory to peripheral

0PERIPHERAL_DMA00: Channel is configured for memory to memory DMA.

1: Channel is configured for peripheral DMA. Based on the value of DIR, the peripheral ready signal associated with this DMA channel is interpreted as initiating transfers either from memory to the peripheral or vice-versa.

The following table gives the PERIPHERAL_SEL bits description.

Table 8-8. PERIPHERAL_SEL
Bit 26Bit 25Bit 24Bit 23Function
0000From UART_0 receive to any MSS memory-mapped location.
0001From any MSS memory-mapped location to UART_0 transmit.
0010From UART_1 receive to any MSS memory-mapped location.
0011From any MSS memory-mapped location to UART_1 transmit.
0100From SPI_0 receive to any MSS memory-mapped location.
0101From any MSS memory-mapped location to SPI_0 transmit.
0110From SPI_1 receive to any MSS memory-mapped location.
0111From any MSS memory-mapped location to SPI_1 transmit.
1000To/from FPGA fabric peripheral on FIC_0 interface (DMAREADY_0[1]).
1001To/from FPGA fabric peripheral on FIC_0 interface (DMAREADY_0[0]).
1010From any MSS memory-mapped location to CAN.
1011From CAN to any MSS memory-mapped location.
1100To/from FPGA fabric peripheral on FIC_1 interface (DMAREADY_1[1]).
1101To/from FPGA fabric peripheral on FIC_1 interface (DMAREADY_1[0]).
1110From COMM_BLK receive to any MSS memory-mapped location.
1111From any MSS memory-mapped location to COMM_BLK transmit.