DMA Operation
645
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
DMA
Table 11-13. channel_cfg Bit Assignments (continued)
Bit
Name
Description
[23:21]
dst_prot_ctrl
Set the bits to control the state of HPROT[3:1] when the controller writes the destination data.
Bit [23] Controls the state of HPROT[3] as follows:
0 = HPROT[3] is LOW and the access is non-cacheable.
1 = HPROT[3] is HIGH and the access is cacheable.
Bit [22] Controls the state of HPROT[2] as follows:
0 = HPROT[2] is LOW and the access is non-bufferable.
1 = HPROT[2] is HIGH and the access is bufferable.
Bit [21] Controls the state of HPROT[1] as follows:
0 = HPROT[1] is LOW and the access is non-privileged.
1 = HPROT[1] is HIGH and the access is privileged.
[20:18]
src_prot_ctrl
Set the bits to control the state of HPROT[3:1] when the controller reads the source data.
Bit [20] Controls the state of HPROT[3] as follows:
0 = HPROT[3] is LOW and the access is non-cacheable.
1 = HPROT[3] is HIGH and the access is cacheable.
Bit [19] Controls the state of HPROT[2] as follows:
0 = HPROT[2] is LOW and the access is non-bufferable.
1 = HPROT[2] is HIGH and the access is bufferable.
Bit [18] Controls the state of HPROT[1] as follows:
0 = HPROT[1] is LOW and the access is non-privileged.
1 = HPROT[1] is HIGH and the access is privileged.
[17:14]
R_power
Set these bits to control how many DMA transfers can occur before the controller rearbitrates.
The possible arbitration rate settings are:
0000b = Arbitrates after each DMA transfer.
0001b = Arbitrates after 2 DMA transfers.
0010b = Arbitrates after 4 DMA transfers.
0011b = Arbitrates after 8 DMA transfers.
0100b = Arbitrates after 16 DMA transfers.
0101b = Arbitrates after 32 DMA transfers.
0110b = Arbitrates after 64 DMA transfers.
0111b = Arbitrates after 128 DMA transfers.
1000b = Arbitrates after 256 DMA transfers.
1001b = Arbitrates after 512 DMA transfers.
1010b-1111b = Arbitrates after 1024 DMA transfers. This means that no arbitration occurs during
the DMA transfer because the maximum transfer size is 1024.
[13:4]
n_minus_1
Prior to the DMA cycle commencing, these bits represent the total number of DMA transfers that
the DMA cycle contains. Set these bits according to the size of DMA cycle that is required.
The 10-bit value indicates the number of DMA transfers, minus one. The possible values are:
000000000b = 1 DMA transfer
000000001b = 2 DMA transfers
000000010b = 3 DMA transfer
000000011b = 4 DMA transfers
000000100b = 5 DMA transfers
. . .
111111111b = 1024 DMA transfers
The controller updates this field immediately before entering the arbitration process. This enables
the controller to store the number of outstanding DMA transfers that are necessary to complete
the DMA cycle.