CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面
文档中心 > GR533x Datasheet/ Peripherals/ DMA/ Registers Copy URL

Registers

Channel_x Registers

SARx

  • Name: Source Address for Channel x

  • Description: The starting source address is programmed by software before the DMA channel is enabled. While the DMA transfer is in progress, this register is updated to reflect the source address of the current AHB transfer.

    Note:

    You must program the SAR address to be aligned to CTL_LOx.SRC_TR_WIDTH.

  • Base Address: 0x40014000

  • Offset: 0x0 + x*0x58

  • Reset Value: 0x0

Table 513 Source Address Register for Channel x
Bits Field Name RW Reset Description

63:32

RSVD

R

Reserved bits

31:0

CSA

RW

0x0

Current Source Address of DMA transfer.

Updated after each source transfer. The SINC field in the CTL_LOx register determines whether the address increments, decrements, or is left unchanged on every source transfer through the block transfer.

Volatile: true

DARx

  • Name: Destination Address Register for Channel x

  • Description: The starting destination address is programmed by software before the DMA channel is enabled. While the DMA transfer is in progress, this register is updated to reflect the destination address of the current AHB transfer.

    Note:

    You must program the DAR to be aligned to CTL_LOx.DST_TR_WIDTH.

  • Base Address: 0x40014000

  • Offset: 0x8 + x*0x58

  • Reset Value: 0x0

Table 514 Destination Address Register for Channel x
Bits Field Name RW Reset Description

63:32

RSVD

R

Reserved bits

31:0

CDA

RW

0x0

Current Destination address of DMA transfer.

Updated after each destination transfer. The DINC field in the CTL _LOx register determines whether the address increments, decrements, or is left unchanged on every destination transfer throughout the block transfer.

Volatile: true

CTL_LOx

  • Name: Control Register Low for Channel x

  • Description: This register contains fields that control the DMA transfer.

    Note:

    You need to program this register prior to enabling the channel.

  • Base Address: 0x40014000

  • Offset: 0x18 + x*0x58

  • Reset Value: 0x0000000200304801

Table 515 Control Register for Channel x
Bits Field Name RW Reset Description

31:22

RSVD

R

Reserved bits

Volatile: true

21:20

TT_FC

RW

0x3

Transfer Type and Flow Control.

Flow control can be assigned to the DMA, the source peripheral, or the destination peripheral.

Value:

  • 0x0: Transfer type is memory to memory, and flow controller is DMA.

  • 0x1: Transfer type is memory to peripheral, and flow controller is DMA.

  • 0x2: Transfer type is Peripheral to memory, and flow controller is DMA.

  • 0x3: Transfer type is peripheral to peripheral, and flow controller is DMA.

Volatile: true

19:17

RSVD

R

Reserved bits

Volatile: true

16:14

SRC_MSIZE

RW

0x1

Source burst transaction length.

Number of data items, each of width CTL_LOx. SRC_TR_WIDTH, to be read from the source every time a burst transferred request is made from either the corresponding hardware or software handshaking interface.

Note:

This value is not related to the AHB bus master HBURST bus.

Value:

  • 0x0: Number of data items to be transferred is 1.

  • 0x1: Number of data items to be transferred is 4.

  • 0x2: Number of data items to be transferred is 8.

Volatile: true

13:11

DST_MSIZE

RW

0x1

Destination burst transaction length.

Number of data items, each of width CTL_LOx. DST_TR_WIDTH, to be written to the destination every time a destination burst transaction request is made from either the corresponding hardware or software handshaking interface.

Note:

This value is not related to the AHB bus master HBURST bus.

Value:

  • 0x0: Number of data items to be transferred is 1.

  • 0x1: Number of data items to be transferred is 4.

  • 0x2: Number of data items to be transferred is 8.

Volatile: true

10:9

SINC

RW

0x0

Source address increment.

Indicates whether to increment or decrement the source address on every source transfer. If the device is fetching data from a source peripheral FIFO with a fixed address, set this field to "No change".

Value:

  • 0x0: Increments the source address.

  • 0x1: Decrements the source address.

  • 0x2/0x3: No change in the source address

Volatile: true

8:7

DINC

RW

0x0

Destination address increment.

Indicates whether to increment or decrement the destination address on every destination transfer. If your device is writing data to a destination peripheral FIFO with a fixed address, set this field to "No Change".

Value:

  • 0x0: Increments the destination address.

  • 0x1: Decrements the destination address.

  • 0x2/0x3: No change in the destination address

Volatile: true

6:4

SRC_TR_WIDTH

RW

0x0

Source Transfer Width.

Mapped to AHB bus Hsize. For a non-memory peripheral, typically the peripheral (source) FIFO width.

Value:

  • 0x0: Source transfer width is 8 bits.

  • 0x1: Source transfer width is 16 bits.

  • 0x2: Source transfer width is 32 bits.

Volatile: true

3:1

DST_TR_WIDTH

RW

0x0

Destination Transfer Width.

Mapped to AHB bus Hsize. For a non-memory peripheral, typically the peripheral (destination) FIFO width.

Value:

  • 0x0: Destination transfer width is 8 bits.

  • 0x1: Destination transfer width is 16 bits.

  • 0x2: Destination transfer width is 32 bits.

Volatile: true

0

INT_EN

RW

0x1

Interrupt Enable Bit.

If set, all interrupt-generating sources are enabled. Functions as a global mask bit for all interrupts for the channel; raw interrupt registers still assert if CTL_LOx.INT_EN = 0.

Value:

  • 0x0: Interrupt is disabled.

  • 0x1: Interrupt is enabled.

Volatile: true

CTL_HIx

  • Name: Control Register High for Channel x

  • Description: This register contains fields that control the DMA transfer.

    Note:

    You need to program this register prior to enabling the channel.

  • Base Address: 0x40014000

  • Offset: 0x1C + x*0x58

  • Reset Value: 0x0000000200304801

Table 516 Control Register High for Channel x
Bits Field Name RW Reset Description

31:12

RSVD

R

Reserved bits

Volatile: true

11:0

BLOCK_TS

RW

0x2

Block Transfer Size.

When the DMA is the flow controller, the user writes this field before the channel is enabled in order to indicate the block size. The number programmed into BLOCK_TS indicates the total number of single transactions to perform for every block transfer; a single transaction is mapped to a single AMBA beat.

Width: The width of single transaction is determined by CTL_LOx. SRC_ TR_WIDTH.

Once the transfer starts, the read-back value is the total number of data items already read from the source peripheral, regardless of what the flow controller is.

When the source or destination peripheral is assigned as the flow controller, the maximum block size that can be read back saturates at 0xFFF, but the actual block size can be greater.

Volatile: true

CFG_LOx

  • Name: Configuration Register Low for Channel x

  • Description: This register contains fields that configure the DMA transfer. The channel configuration register remains fixed for all blocks of a multi-block transfer.

    Note:

    You need to program this register prior to enabling the channel.

  • Base Address: 0x40014000
  • Offset: 0x40 + x*0x58

  • Reset Value: 0x0000000400000e00 + (x*0x20)

Table 517 Configuration Register Low for Channel x
Bits Field Name RW Reset Description

31:20

RESVD

R

Reserved bits

19

SRC_HS_POL

RW

0x0

Source handshaking interface polarity.

Value:

  • 0x0: Source handshaking interface polarity is active high.

  • 0x1: Source handshaking interface polarity is active low.

18

DST_HS_POL

RW

0x0

Destination handshaking interface polarity.

Value:

  • 0x0: Destination handshaking interface polarity is active high.

  • 0x1: Destination handshaking interface polarity is active low.

17:12

Rsvd_CFG

R

Reserved bits

11

HSG_SEL_SRC

RW

0x1

Selects software or hardware handshaking interface for source.

This register selects which of the handshaking interfaces - hardware or software - is active for source requests on this channel. If the source peripheral is memory, this bit is ignored.

Value:

  • 0x0: Hardware handshaking interface. Software initiated transaction requests are ignored.

  • 0x1: Software handshaking interface. Hardware initiated transaction requests are ignored.

10

HSG_SEL_DEST

RW

0x1

Selects a software or hardware handshaking interface for destination.

This register selects which of the handshaking interfaces - hardware or software - is active for destination requests on this channel. If the destination peripheral is memory, this bit is ignored.

Value:

  • 0x0: Hardware handshaking interface. Software initiated transaction requests are ignored.

  • 0x1: Software handshaking interface. Hardware initiated transaction requests are ignored.

9

FIFO_EMPTY

R

0x1

Channel FIFO status.

Indicates if there is data left in the channel FIFO. It can be used in conjunction with CFGx to cleanly disable a channel.

Value:

  • 0x0: Channel FIFO is not empty.

  • 0x1: Channel FIFO is empty.

8

CH_SUSP

RW

0x0

Channel suspend.

Suspends all DMA data transfers from the source until this bit is cleared. There is no guarantee that the current transaction will complete. It can also be used in conjunction with CFGx to cleanly disable a channel without losing any data.

Value:

  • 0x0: DMA transfer from the source is not suspended.

  • 0x1: Suspend DMA transfer from the source.

7:5

CH_PRIOR

RW

0x0

Channel priority.

A priority of 7 is the highest priority and 0 is the lowest. This field must be programmed within the range of 0 to 3. A programmed value beyond this range will cause erroneous behavior.

Value:

  • 0x0: Channel priority is 0.

  • 0x1: Channel priority is 1.

  • 0x2: Channel priority is 2.

  • 0x3: Channel priority is 3.

4:0

RSVD

R

Reserved bits

CFG_HIx

  • Name: Configuration Register High for Channel x

  • Description: This register contains fields that configure the DMA transfer. The channel configuration register remains fixed for all blocks of a multi-block transfer.

    Note:

    You need to program this register prior to enabling the channel.

  • Base Address: 0x40014000
  • Offset: 0x40 + x*0x58

  • Reset Value: 0x0000000400000e00 + (x*0x20)

Table 518 Configuration Register High for Channel x
Bits Field Name RW Reset Description

31:15

RSVD

R

Reserved bits

14:11

DEST_PER

RW

0x0

Destination hardware interface.

Assigns a hardware handshaking interface to the destination of channel x if the CFG_LOx.HSG_SEL_DEST field is 0; otherwise, this field is ignored. The channel can communicate with the destination peripheral connected to that interface through the assigned hardware handshaking interface.

Note:

For correct DMA operation, only one peripheral (source or destination) should be assigned to the same handshaking interface.

10:7

SRC_PER

RW

0x0

Source hardware interface.

Assigns a hardware handshaking interface to the source of channel x if the CFG_LOx.HSG_SEL_SRC field is 0; otherwise, this field is ignored. The channel can then communicate with the source peripheral connected to that interface through the assigned hardware handshaking interface.

Note:

For correct DMA operation, only one peripheral (source or destination) should be assigned to the same handshaking interface.

6:5

RSVD

R

Reserved bits

4:2

PROTCTL

RW

0x1

Protection control bits used to drive the AHB HPROT[3:1] bus.

The AMBA specification recommends that the default of HPROT indicate a non-cached, non-buffered, and privileged data access. The reset value is used to indicate such an access.

HPROT[0] is tied high because all transfers are data accesses, as there are no opcode fetches.

There is a one-to-one mapping of these register bits to the HPROT[3:1] master interface signals.

Mapping of HPROT bus is as follows:

  • 0x1 to HPROT[0]

  • CFG_HIx. PROTCT [1] to HPROT[1]

  • CFG_HI x. PROTCT[2] to HPROT[2]

  • CFG_HI x. PROTCT [3] to HPROT[3]

1

FIFO_MODE

RW

0x0

FIFO mode select.

Determines how much space or data needs to be available in the FIFO before a burst transaction request is serviced.

Value:

  • 0x0: Space/Data available for a single AHB transfer of the specified transfer width

  • 0x1: Data available is greater than or equal to half the FIFO depth for destination transfers, and space available is greater than half the FIFO depth for source transfers. The exceptions are at the end of a burst transaction request or at the end of a block transfer.

0

FCMODE

RW

0x0

Flow control mode.

Determines when source transaction requests are serviced when the destination peripheral is the flow controller.

Value:

  • 0x0: Source transaction requests are serviced when they occur. Data pre-fetching is enabled.

  • 0x1: Source transaction requests are not serviced until a destination transaction request occurs. In this mode, the amount of data transferred from the source is limited so that it is guaranteed to be transferred to the destination prior to block termination by the destination. Data pre-fetching is disabled.

Interrupt Registers

DMA_RAW_TFR

  • Name: Raw Status for Transfer Complete Interrupt

  • Description: Interrupt events are stored in this Raw Interrupt Status Register before masking. This register has a bit allocated to each channel; for example, DMA_RAW_TFR[2] is the Channel 2 raw transfer complete interrupt. Each bit in this register is cleared by writing a 1 to the corresponding location in the DMA_CLR_TFR register.

    Note:

    Write access is available to this register or software for testing purposes only. Under normal operation, writes to this register are not recommended.

  • Base Address: 0x40014000

  • Offset: 0x2c0

  • Reset Value: 0x0

Table 519 Raw Status for Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

RAW_TFR

RW

0x0

Raw status for transfer complete interrupt

Value:

  • 0x0: Inactive raw interrupt status

  • 0x1: Active raw interrupt status

DMA_RAW_BLK

  • Name: Raw Status for Block Transfer Complete Interrupt

  • Description: Interrupt events are stored in this Raw Interrupt Status Register before masking. This register has a bit allocated to each channel; for example, DMA_RAW_BLK[2] is the Channel 2 raw block complete interrupt. Each bit in this register is cleared by writing a 1 to the corresponding location in the CLR_BLK register.

    Note:

    Write access is available to this register or software for testing purposes only. Under normal operation, writes to this register are not recommended.

  • Base Address: 0x40014000

  • Offset: 0x2c8

  • Reset Value: 0x0

Table 520 Raw Status for Block Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

RAW_BLK

RW

0x0

Raw Status for Block Transfer Complete Interrupt

Value:

  • 0x0: Inactive raw interrupt status

  • 0x1: Active raw interrupt status

DMA_RAW_SRC_TRN

  • Name: Raw Status for Source Transaction Complete Interrupt

  • Description: Interrupt events are stored in this Raw Interrupt Status Register before masking. This register has a bit allocated to each channel; for example, DMA_RAW_SRC_TRN[2] is the Channel 2 raw source transaction complete interrupt. Each bit in this register is cleared by writing a 1 to the corresponding location in the DMA_CLR_DST_TRN register.

    Note:

    Write access is available to this register or software testing purposes only. Under normal operation, writes to this register are not recommended.

  • Base Address: 0x40014000

  • Offset: 0x2D0

  • Reset Value: 0x0

Table 521 Raw Status for Source Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

SRC_TRN

RW

0x0

Raw status for source transaction complete interrupt

Value:

  • 0x0: Inactive raw interrupt status
  • 0x1: Active raw interrupt status

DMA_RAW_DST_TRN

  • Name: Raw Status for Destination Transaction Complete Interrupt

  • Description: Interrupt events are stored in this Raw Interrupt Status register before masking. This register has a bit allocated to each channel; for example, DMA_RAW_DST_TRN[2] is the Channel 2 raw destination transaction complete interrupt. Each bit in this register is cleared by writing a 1 to the corresponding location in the DMA_CLR_DST_TRN register.

    Note:

    Write access is available to this register or software testing purposes only. Under normal operation, writes to this register are not recommended.

  • Base Address: 0x40014000

  • Offset: 0x2d8

  • Reset Value: 0x0

Table 522 Raw Status for Destination Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

R

Reserved bits

4:0

DST_TRN

RW

0x0

Raw status for destination transaction complete interrupt

Value:

  • 0x0: Inactive raw interrupt status
  • 0x1: Active raw interrupt status

DMA_RAW_ERR

  • Name: Raw Status for Error Interrupt

  • Description: Interrupt events are stored in this Raw Interrupt Status Register before masking. This register has a bit allocated to each channel; for example, DMA_RAW_ERR[2] is the Channel 2 raw error interrupt. Each bit in this register is cleared by writing a 1 to the corresponding location in the DMA_CLR_ERR register.

    Note:

    Write access is available to this register or software testing purposes only. Under normal operation, writes to this register are not recommended.

  • Base Address: 0x40014000

  • Offset: 0x2E0

  • Reset Value: 0x0

Table 523 Raw Status for Error Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

RAW_ERR

RW

0x0

Raw Status for Error Interrupt

Value:

  • 0x0: Inactive raw interrupt status
  • 0x1: Active raw interrupt status

DMA_STAT_TFR

  • Name: Status for Transfer Complete Interrupt

  • Description: Channel DMA transfer complete interrupt events from all channels are stored in this interrupt status register after masking. This register has a bit allocated to each channel; for example, DMA_STAT_TFR[2] is the Channel 2 source DMA transfer complete interrupt. The contents of this register are used to generate the interrupt signals (int or int_n bus, depending on interrupt polarity) leaving the DMA.

  • Base Address: 0x40014000

  • Offset: 0x2E8

  • Reset Value: 0x0

Table 524 Status for Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

STAT_TFR

R

0x0

Status for transfer complete interrupt

Value:

  • 0x0: Inactive interrupt status
  • 0x1: Active interrupt status

DMA_STAT_BLK

  • Name: Status for Block Transfer Complete Interrupt

  • Description: Channel block complete interrupt events from all channels are stored in this interrupt status register after masking. This register has a bit allocated to each channel; for example, DMA_STAT_BLK[2] is the Channel 2 block complete interrupt. The contents of this register are used to generate the interrupt signals (int or int_n bus, depending on interrupt polarity) leaving the DMA.

  • Base Address: 0x40014000

  • Offset: 0x2F0

  • Reset Value: 0x0

Table 525 Status for Block Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

R

Reserved bits

4:0

STAT_BLK

R

0x0

Status for block transfer complete interrupt

Value:

  • 0x0: Inactive interrupt status
  • 0x1: Active interrupt status

DMA_STAT_SRC_TRN

  • Name: Status for Source Transaction Complete Interrupt

  • Description: Channel source transaction complete interrupt events from all channels are stored in this interrupt status register after masking. This register has a bit allocated to each channel; for example, DMA_STAT_SRC_TRN[2] is the Channel 2 source transaction complete interrupt. The contents of this register are used to generate the interrupt signals (int or int_n bus, depending on interrupt polarity) leaving the DMA.

  • Base Address: 0x40014000

  • Offset: 0x2F8

  • Reset Value: 0x0

Table 526 Status for Source Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

R

Reserved bits

4:0

SRC_TRN

R

0x0

Status for source transaction complete interrupt

Value:

  • 0x0: Inactive interrupt status
  • 0x1: Active interrupt status

DMA_STAT_DST_TRN

  • Name: Status for Destination Transaction Complete Interrupt

  • Description: Channel destination transaction complete interrupt events from all channels are stored in this interrupt status register after masking. This register has a bit allocated to each channel; for example, DMA_STAT_DST_TRN[2] is the Channel 2 status destination transaction complete interrupt. The contents of this register are used to generate the interrupt signals (int or int_n bus, depending on interrupt polarity) leaving the DMA.

  • Base Address: 0x40014000

  • Offset: 0x300

  • Reset Value: 0x0

Table 527 Status for Destination Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

R

Reserved bits

4:0

DST_TRN

R

0x0

Status for destination transaction complete interrupt

Value:

  • 0x0: Inactive interrupt status
  • 0x1: Active interrupt status

DMA_STAT_ERR

  • Name: Status for Error Interrupt

  • Description: Channel error interrupt events from all channels are stored in this interrupt status register after masking. This register has a bit allocated to each channel; for example, DMA_STAT_ERR[2] is the Channel 2 status error interrupt. The contents of this register are used to generate the interrupt signals (int or int_n bus, depending on interrupt polarity) leaving the DMA.

  • Base Address: 0x40014000

  • Offset: 0x308

  • Reset Value: 0x0

Table 528 Status for Error Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

R

Reserved bits

4:0

STAT_ERR

R

0x0

Status for error interrupt

Value:

  • 0x0: Inactive interrupt status
  • 0x1: Active interrupt status

DMA_MASK_TFR

  • Name: MASK for Transfer Complete Interrupt

  • Description: The contents of the raw status register DMA_RAW_TFR are masked with the contents of the mask register DMA_MASK_TFR. This register has a bit allocated to each channel; for example, DMA_MASK_TFR[2] is the mask bit for the Channel 2 transfer complete interrupt. A channel MASK_TFR bit will be written only if the corresponding mask write enable bit in the MASK_TFR_WE field is asserted on the same AHB write transfer. This allows software to set a mask bit without performing a read-modified write operation. For example, writing hex 01x1 to the DMA_MASK_TFR register writes a 1 into DMA_MASK_TFR[0], while DMA_MASK_TFR[7:1] remains unchanged. Writing hex 00xx leaves DMA_MASK_TFR[7:0] unchanged. Writing a 1 to any bit in this register unmasks the corresponding interrupt, thus allowing the DMA to set the appropriate bit in the status registers and int_port signals.

  • Base Address: 0x40014000

  • Offset: 0x310

  • Reset Value: 0x0

Table 529 MASK for Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:13

RSVD_

R

Reserved bits

12:8

MASK_TFR_WE

W

0x0

Interrupt Mask Write Enable

Value:

  • 0x0: Interrupt mask write disabled
  • 0x1: Interrupt mask write enabled

7:5

RSVD_

R

Reserved bits

4:0

MASK_TFR

RW

0x0

Mask for Transfer Complete Interrupt

Value:

  • 0x0: Mask the interrupts.
  • 0x1: Unmask the interrupts.

DMA_MASK_BLK

  • Name: Mask for Block Transfer Complete Interrupt

  • Description: The contents of the raw status register DMA_RAW_BLK are masked with the contents of the mask register DMA_MASK_BLK. This register has a bit allocated to each channel; for example, DMA_MASK_BLK[2] is the mask bit for the Channel 2 block complete interrupt. A channel MASK_TFR bit will be written only if the corresponding mask write enable bit in the MASK_TFR_WE field is asserted on the same AHB write transfer. This allows software to set a mask bit without performing a read-modified write operation. For example, writing hex 01x1 to the DMA_MASK_BLK register writes a 1 into DMA_MASK_BLK[0], while DMA_MASK_BLK[7:1] remains unchanged. Writing hex 00xx leaves DMA_MASK_BLK[7:0] unchanged. Writing a 1 to any bit in this register unmasks the corresponding interrupt, thus allowing the DMA to set the appropriate bit in the status registers and int_port signals.

  • Base Address: 0x40014000

  • Offset: 0x318

  • Reset Value: 0x0

Table 530 Mask for Block Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:13

RSVD_

R

Reserved bits

12:8

MASK_BLK_WE

W

0x0

Interrupt Mask Write Enable

Value:

  • 0x0: Interrupt mask write disabled
  • 0x1: Interrupt mask write enabled

7:5

RSVD_

R

Reserved bits

4:0

MASK_BLK

RW

0x0

Mask for Block Transfer Complete Interrupt

Value:

  • 0x0: Mask the interrupts.
  • 0x1: Unmask the interrupts.

DMA_MASK_SRC_TRN

  • Name: MASK for Source Transaction Complete Interrupt

  • Description: The contents of the raw status register DMA_RAW_SRC_TRN are masked with the contents of the mask register DMA_MASK_SRC_TRN. This register has a bit allocated to each channel; for example, DMA_MASK_SRC_TRN[2] is the mask bit for the Channel 2 source transaction complete interrupt. When the source peripheral of DMA channel i is memory, then the source transaction complete interrupt, DMA_MASK_SRC_TRN[i], must be masked to prevent an erroneous triggering of an interrupt on the int_combined signal. A channel MASK_TFR bit will be written only if the corresponding mask write enable bit in the MASK_TFR_WE field is asserted on the same AHB write transfer. This allows software to set a mask bit without performing a read-modified write operation. For example, writing hex 01x1 to the DMA_MASK_SRC_TRN register writes a 1 into DMA_MASK_SRC_TRN[0], while DMA_MASK_SRC_TRN[7:1] remains unchanged. Writing hex 00xx leaves DMA_MASK_SRC_TRN[7:0] unchanged. Writing a 1 to any bit in this register unmasks the corresponding interrupt, thus allowing the DMA to set the appropriate bit in the status registers and int_port signals.

  • Base Address: 0x40014000

  • Offset: 0x320

  • Reset Value: 0x0

Table 531 MASK for Source Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:13

RSVD_

R

Reserved bits

12:8

SRC_TRN_WE

W

0x0

Interrupt Mask Write Enable

Value:

  • 0x0: Interrupt mask write disabled
  • 0x1: Interrupt mask write enabled

7:5

RSVD_

R

Reserved bits

4:0

MASK_SRC_TRN

RW

0x0

Mask for Source Transaction Complete Interrupt

Value:

  • 0x0: Mask the interrupts.
  • 0x1: Unmask the interrupts.

DMA_MASK_DST_TRN

  • Name: Mask for Destination Transaction Complete Interrupt

  • Description: The contents of the raw status register DMA_RAW_DST_TRN are masked with the contents of the mask register DMA_MASK_DST_TRN. This register has a bit allocated to each channel; for example, DMA_MASK_DST_TRN[2] is the mask bit for the Channel 2 destination transaction complete interrupt. When the destination peripheral of DMA channel i is memory, then the destination transaction complete interrupt, DMA_MASK_DST_TRN[i], must be masked to prevent an erroneous triggering of an interrupt on the int_combined(_n) signal. A channel MASK_TFR bit will be written only if the corresponding mask write enable bit in the MASK_TFR_W field is asserted on the same AHB write transfer. This allows software to set a mask bit without performing a read-modified write operation. For example, writing hex 01x1 to the DMA_MASK_DST_TRN register writes a 1 into DMA_MASK_DST_TRN[0], while DMA_MASK_DST_TRN[7:1] remains unchanged. Writing hex 00xx leaves DMA_MASK_DST_TRN[7:0] unchanged. Writing a 1 to any bit in this register unmasks the corresponding interrupt, thus allowing the DMA to set the appropriate bit in the status registers and int_port signals.

  • Base Address: 0x40014000

  • Offset: 0x328

  • Reset Value: 0x0

Table 532 Mask for Destination Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:13

RSVD_

R

Reserved bits

12:8

MASK_DST_TRN_WE

W

0x0

Interrupt Mask Write Enable

Value:

  • 0x0: Interrupt mask write disabled
  • 0x1: Interrupt mask write enabled

7:5

RSVD_

R

Reserved bits

4:0

MASK_DST_TRN

RW

0x0

Mask for Destination Transaction Complete Interrupt

Value:

  • 0x0: Mask the interrupts.
  • 0x1: Unmask the interrupts.

DMA_MASK_ERR

  • Name: Mask for Error Interrupt

  • Description: The contents of the raw status register DMA_RAW_ERR are masked with the contents of the mask register DMA_MASK_ERR. This register has a bit allocated to each channel; for example, DMA_MASK_ERR[2] is the mask bit for the Channel 2 error interrupt. A channel MASK_TFR bit will be written only if the corresponding mask write enable bit in the MASK_TFR_WE field is asserted on the same AHB write transfer. This allows software to set a mask bit without performing a read-modified write operation. For example, writing hex 01x1 to the DMA_MASK_ERR register writes a 1 into DMA_MASK_ERR[0], while DMA_MASK_ERR[7:1] remains unchanged. Writing hex 00xx leaves DMA_MASK_ERR[7:0] unchanged. Writing a 1 to any bit in this register unmasks the corresponding interrupt, thus allowing the DMA to set the appropriate bit in the Status registers and int_port signals.

  • Base Address: 0x40014000

  • Offset: 0x330

  • Reset Value: 0x0

Table 533 Mask for Error Interrupt
Bits Field Name RW Reset Description

63:13

RSVD_

R

Reserved bits

12:8

MASK_ERR_WE

W

0x0

Interrupt Mask Write Enable

Value:

  • 0x0: Interrupt mask write disabled
  • 0x1: Interrupt mask write enabled

7:5

RSVD_

R

Reserved bits

4:0

MASK_ERR

RW

0x0

Mask for Error Interrupt

Value:

  • 0x0: Mask the interrupts.
  • 0x1: Unmask the interrupts.

DMA_CLR

  • Name: Clear for Transfer Complete Interrupt
  • Description: Each bit in the DMA_RAW_TFR and DMA_STAT_TFRis cleared on the same cycle by writing a 1 to the corresponding location in the registers. This register has a bit allocated to each channel; for example, DMA_CLR_TFR[2] is the clear bit for the Channel 2 transfer done interrupt. Writing a 0 has no effect. This register is not readable.

  • Base Address: 0x40014000

  • Offset: 0x338

  • Reset Value: 0x0

Table 534 Clear for Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

W

Reserved bits

4:0

CLR_TFR

W

0x0

Clear for Transfer Complete Interrupt

Value:

  • 0x0: No effect
  • 0x1: Clears interrupts.

DMA_CLR_BLK

  • Name: Clear for Block Transfer Complete Interrupt

  • Description: Each bit in the DMA_RAW_BLK and DMA_STAT_BLK is cleared on the same cycle by writing a 1 to the corresponding location in the registers. This register has a bit allocated to each channel; for example, DMA_CLR_BLK[2] is the clear bit for the Channel 2 block done interrupt. Writing a 0 has no effect. This register is not readable.

  • Base Address: 0x40014000

  • Offset: 0x340

  • Reset Value: 0x0

Table 535 Clear for Block Transfer Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

W

Reserved bits

4:0

CLR_BLK

W

0x0

Clear for Block Transfer Complete Interrupt

DMA_CLR_SRC_TRN

  • Name: Clear for Source Transaction Complete Interrupt

  • Description: Each bit in the DMA_RAW_SRC_TRN and DMA_STAT_SRC_TRN is cleared on the same cycle by writing a 1 to the corresponding location in the registers. This register has a bit allocated to each channel; for example, DMA_CLR_DST_TRN[2] is the clear bit for the Channel 2 source transaction done interrupt. Writing a 0 has no effect. This register is not readable.

  • Base Address: 0x40014000

  • Offset: 0x348

  • Reset Value: 0x0

Table 536 Clear for Source Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD

W

Reserved bits

4:0

CLR_SRC_TRN

W

0x0

Clear for Source Transaction Complete Interrupt

Value:

  • 0x0: No effect
  • 0x1: Clears interrupts.

DMA_CLR_DST_TRN

  • Name: Clear for Destination Transaction Complete Interrupt

  • Description: Each bit in the DMA_RAW_DST_TRN and DMA_STAT_DST_TRN is cleared on the same cycle by writing a 1 to the corresponding location in the registers. This register has a bit allocated to each channel; for example, DMA_CLR_DST_TRN[2] is the clear bit for the Channel 2 destination transaction done interrupt. Writing a 0 has no effect. This register is not readable.

  • Base Address: 0x40014000

  • Offset: 0x350

  • Reset Value: 0x0

Table 537 Clear for Destination Transaction Complete Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

W

0x0

Reserved bits

4:0

CLR_DST_TRN

W

0x0

Clear for Destination Transaction Complete Interrupt

Value:

  • 0x0: No effect
  • 0x1: Clears interrupts.

DMA_CLR_ERR

  • Name: Clear for Error Interrupt

  • Description: Each bit in the DMA_RAW_ERR and DMA_STAT_ERR is cleared on the same cycle by writing a 1 to the corresponding location in the registers. This register has a bit allocated to each channel; for example, DMA_CLR_ERR[2] is the clear bit for the Channel 2 error interrupt. Writing a 0 has no effect. This register is not readable.

  • Base Address: 0x40014000

  • Offset: 0x358

  • Reset Value: 0x0

Table 538 Clear for Error Interrupt
Bits Field Name RW Reset Description

63:5

RSVD_

W

Reserved bits

4:0

CLR_ERR

W

0x0

Clear for Error Interrupt

Value:

  • 0x0: No effect
  • 0x1: Clears interrupts.

DMA_STATUS_INT

  • Name: Status for Each Interrupt Type

  • Description: The contents of each of the five status registers DMA_STAT_SRC_TRN, DMA_STAT_BLK, DMA_STAT_SRC_TRN, DMA_STAT_DST_TRN, and DMA_STAT_ERR are ORed to produce a single bit for each interrupt type in the combined status register (DMA_STATUS_INT). This register is read-only.

  • Base Address: 0x40014000

  • Offset: 0x360

  • Reset Value: 0x0

Table 539 Status for Each Interrupt Type
Bits Field Name RW Reset Description

63:5

RSVD_

R

Reserved bits

4

ERR

R

0x0

OR of the contents of DMA_STAT_ERR

Value:

  • 0x0: OR of the contents of DMA_STAT_ERR register is 0.
  • 0x1: OR of the contents of DMA_STAT_ERR register is 1.

3

DST

R

0x0

OR of the contents of DMA_STAT_DST_TRN

Value:

  • 0x0: OR of the contents of DMA_STAT_DST_TRN register is 0.
  • 0x1: OR of the contents of DMA_STAT_DST_TRN register is 1.

2

SRC

R

0x0

OR of the contents of DMA_STAT_SRC_TRN

Value:

  • 0x0: OR of the contents of DMA_STAT_SRC_TRN register is 0.
  • 0x1: OR of the contents of DMA_STAT_SRC_TRN register is 1.

1

BLK

R

0x0

OR of the contents of DMA_STAT_BLK register

Value:

  • 0x0: OR of the contents of DMA_STAT_BLK register is 0.
  • 0x1: OR of the contents of DMA_STAT_BLK register is 1.

0

TFR

R

0x0

OR of the contents of DMA_STAT_TFR register

Value:

  • 0x0: OR of the contents of DMA_STAT_TFR register is 0.
  • 0x1: OR of the contents of DMA_STAT_TFR register is 1.

Software Handshake Registers

REQ_SRC

  • Name: Source Software Transaction Request Register

  • Description: A bit is assigned for each channel in this register. REQ_SRC[n] is ignored when software handshaking is not enabled for the source of channel n. A channel SRC_REQ bit is written only if the corresponding channel write enable bit in the SRC_REQ_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register. For example, writing hex 0101 writes a 1 into REQ_SRC[0], while REQ_SRC[7:1] remains unchanged. Writing hex 00xx leaves REQ_SRC[7:0] unchanged. This allows software to set a bit in the REQ_SRC register without performing a read-modified write operation.

  • Base Address: 0x40014000

  • Offset: 0x368

  • Reset Value: 0x0

Table 540 Source Software Transaction Request Register
Bits Field Name RW Reset Description

63:13

RSVD

R

Reserved bits

12:8

SRC_REQ_WE

RW

0x0

Source Software Transaction Request write enable

Value:

  • 0x0: Source request write disabled
  • 0x1: Source request write enabled

7:5

RSVD

R

Reserved bits

4:0

SRC_REQ

RW

0x0

Source Software Transaction Request

Value:

  • 0x0: Source request is not active.
  • 0x1: Source request is active.

REQ_DST

  • Name: Destination Software Transaction Request Register

  • Description: A bit is assigned for each channel in this register. REQ_DST[n] is ignored when software handshaking is not enabled for the source of channel n. A channel DEST bit is written only if the corresponding channel write enable bit in the DEST_REQ_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register.

  • Base Address: 0x40014000

  • Offset: 0x370

  • Reset Value: 0x0

Table 541 Destination Software Transaction Request Register
Bits Field Name RW Reset Description

63:13

RSVD

R

Reserved bits

12:8

DEST_REQ_WE

RW

0x0

Destination Software Transaction Request write enable

Value:

  • 0x0: Destination request write disabled
  • 0x1: Destination request write enabled

7:5

RSVD

R

Reserved bits

4:0

DEST_REQ

RW

0x0

Destination Software Transaction Request

Value:

  • 0x0: Destination request is not active.
  • 0x1: Destination request is active.

SGL_RQ_SRC

  • Name: Source Single Transaction Request Register

  • Description: A bit is assigned for each channel in this register. SGL_RQ_SRC is ignored when software handshaking is not enabled for the source of channel n. A channel SRC_SGL_REQ bit is written only if the corresponding channel write enable bit in the SRC_SGL_REQ_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register.

  • Base Address: 0x40014000

  • Offset: 0x378

  • Reset Value: 0x0

Table 542 Source Single Transaction Request Register
Bits Field Name RW Reset Description

63:13

RSVD

R

Reserved bits

12:8

SRC_SGL_REQ_WE

RW

0x0

Source Single Transaction Request write enable

Value:

  • 0x0: Single write disabled
  • 0x1: Single write enabled

7:5

RSVD

R

Reserved bits

4:0

SRC_SGL_REQ

RW

0x0

Source Single Transaction Request

Value:

  • 0x0: Source request is not active.
  • 0x1: Source request is active.

SGL_RQ_DST

  • Name: Destination Single Transaction Request Register
  • Description: A bit is assigned for each channel in this register. SGL_RQ_DST is ignored when software handshaking is not enabled for the destination of channel n. A channel DEST_SGL_REQ bit is written only if the corresponding channel write enable bit in the DST_SGL_REQ_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register.
  • Base Address: 0x4A0014000
  • Offset: 0x380
  • Reset Value: 0x0
Table 543 Destination Single Transaction Request Register
Bits Field Name RW Reset Description

63:13

Rsvd_1_

R

Reserved bits

12:8

DST_SGL_REQ_WE

RW

0x0

Destination Single Transaction Request write enable

Value:

  • 0x0: Destination write disabled
  • 0x1: Destination write enabled

7:5

Rsvd_1_

R

Reserved bits

4:0

DEST_SGL_REQ

RW

0x0

Destination Single Transaction Request

Value:

  • 0x0: Destination single or burst request is not active.
  • 0x1: Destination single or burst request is active.

LST_SRC

  • Name: Source Last Transaction Request Register
  • Description: A bit is assigned for each channel in this register. LST_SRC is ignored when software handshaking is not enabled for the source of channel n, or when the source of channel n is not a flow controller. A channel LST_SRC bit is written only if the corresponding channel write enable bit in the LST_SRC_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register.
  • Base Address: 0x40014000
  • Offset: 0x388
  • Reset Value: 0x0
Table 544 Source Last Transaction Request Register
Bits Field Name RW Reset Description

63:13

Rsvd_1_

R

Reserved bits

12:8

LST_SRC_WE

RW

0x0

Source Last Transaction Request write enable

Value:

  • 0x0: Source last transaction request write disabled
  • 0x1: Source last transaction request write enabled

7:5

Rsvd_1_

R

Reserved bits

4:0

LST_SRC

RW

0x0

Source Last Transaction Request register

Value:

  • 0x0: Not last transaction in current block
  • 0x1: Last transaction in current block

LST_DST

  • Name: Destination Last Transaction Request Register

  • Description: A bit is assigned for each channel in this register. LST_DST is ignored when software handshaking is not enabled for the destination of channel n or when the destination of channel n is not a flow controller. A channel LST_DEST bit is written only if the corresponding channel write enable bit in the LST_DEST_WE field is asserted on the same AHB write transfer, and if the channel is enabled in the CH_EN register.

  • Base Address: 0x40014000

  • Offset: 0x390

  • Reset Value: 0x0

Table 545 Destination Last Transaction Request Register
Bits Field Name RW Reset Description

63:13

Rsvd_1_

R

Reserved bits

12:8

LST_DEST_WE

RW

0x0

Destination Last Transaction Request write enable

Value:

  • 0x0: Destination last transaction request write disabled
  • 0x1: Destination last transaction request write enabled

7:5

Rsvd_1_

R

Reserved bits

4:0

LST_DEST

RW

0x0

Destination Last Transaction Request

Value:

  • 0x0: Not last transaction in current block
  • 0x1: Last transaction in current block

Miscellaneous Registers

CFG

  • Name: DMA Configuration Register

  • Description: This register is used to enable the DMA, which must be done before any channel activity. If the global channel enable bit is cleared while any channel is still active, CFG. EN still returns 1 to indicate that there are channels still active until hardware has terminated all activities on all channels, at which point the CFG. EN bit returns 0.

  • Base Address: 0x40014000

  • Offset: 0x398

  • Reset Value: 0x0

Table 546 DMA Configuration Register
Bits Field Name RW Reset Description

63:1

RSVD

R

Reserved bits

0

EN

RW

0x0

DMA Enable bit.

Value:

  • 0x0: DMA disabled
  • 0x1: DMA enabled

CH_EN

  • Name: DMA Channel Enable Register

  • Description: This is the DMA Channel Enable Register. If software needs to set up a new channel, it can read this register in order to find out which channels are currently inactive; it can then enable an inactive channel with the required priority. All bits of this register are cleared to 0 when the global DMA channel enable bit, CFG[0], is 0. When the global channel enable bit is 0, a write to the CH_EN register is ignored and a read will always read back 0. The channel enable bit, CH_EN.CH_EN, is written only if the corresponding channel write enable bit, CH_EN. CH_WE_EN, is asserted on the same AHB write transfer. For example, writing hex 01x1 writes a 1 into CH_EN[0], while CH_EN[7:1] remains unchanged. Writing hex 00xx leaves CH_EN[7:0] unchanged. Note that a read-modified write is not required.

  • Base Address: 0x40014000

  • Offset: 0x3a0

  • Reset Value: 0x0

Table 547 DMA Channel Enable Register
Bits Field Name RW Reset Description

63:13

RSVD

R

Reserved bits

12:8

CH_WE_EN

W

0x0

Channel enable register

7:5

RSVD

R

Reserved bits

4:0

CH_EN

RW

0x0

Channel Enable.

The CH_EN.CH_EN bit is automatically cleared by hardware to disable the channel after the last AMBA transfer of the DMA transfer to the destination has completed. Software can therefore poll this bit to determine when this channel is free for a new DMA transfer.

Value:

  • 0x0: Disable the channel.
  • 0x1: Enable the channel.

扫描关注

打开微信,使用“扫一扫”即可关注。