dmagrp_bus_mode

         <b> Register 0 (Bus Mode Register) </b>

The Bus Mode register establishes the bus operating modes for the DMA.
      
Module Instance Base Address Register Address
i_emac_emac0 0xFF800000 0xFF801000
i_emac_emac1 0xFF802000 0xFF803000
i_emac_emac2 0xFF804000 0xFF805000

Size: 32

Offset: 0x1000

Access: RW

Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

rib

RW 0x0

reserved_30

RO 0x0

prwg

RW 0x0

txpr

RW 0x0

mb

RW 0x0

aal

RW 0x0

eightxpbl

RW 0x0

usp

RW 0x0

rpbl

RW 0x1

fb

RW 0x0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

pr

RW 0x0

pbl

RW 0x1

atds

RW 0x0

dsl

RW 0x0

da

RW 0x0

swr

RW 0x1

dmagrp_bus_mode Fields

Bit Name Description Access Reset
31 rib
Rebuild INCRx Burst

When this bit is set high and the AHB master gets an EBT (Retry, Split, or Losing bus grant), the AHB master interface rebuilds the pending beats of any burst transfer initiated with INCRx. The AHB master interface rebuilds the beats with a combination of specified bursts with INCRx and SINGLE. By default, the AHB master interface rebuilds pending beats of an EBT with an unspecified (INCR) burst.

This bit is valid only in the GMAC-AHB configuration. It is reserved in all other configuration.
RW 0x0
30 reserved_30
Reserved
RO 0x0
29:28 prwg
Channel Priority Weights

This field sets the priority weights for Channel 0 during the round-robin arbitration between the DMA channels for the system bus.
 * 00: The priority weight is 1.
 * 01: The priority weight is 2.
 * 10: The priority weight is 3.
 * 11: The priority weight is 4.
This field is present in all DWC_gmac configurations except GMAC-AXI when you select the AV feature. Otherwise, this field is reserved and read-only (RO).
RW 0x0
27 txpr
Transmit Priority

When set, this bit indicates that the transmit DMA has higher priority than the receive DMA during arbitration for the system-side bus. In the GMAC-AXI configuration, this bit is reserved and read-only (RO).
RW 0x0
26 mb
Mixed Burst

When this bit is set high and the FB bit is low, the AHB Master interface starts all bursts of length more than 16 with INCR (undefined burst) whereas it reverts to fixed burst transfers (INCRx and SINGLE) for burst length of 16 and less. 

This bit is valid only in the GMAC-AHB configuration and reserved in all other configuration.
RW 0x0
25 aal
Address Aligned Beats

When this bit is set high and the FB bit is equal to 1, the AHB or AXI interface generates all bursts aligned to the start address LS bits. If the FB bit is equal to 0, the first burst (accessing the data buffer's start address) is not aligned, but subsequent bursts are aligned to the address.

This bit is valid only in the GMAC-AHB and GMAC-AXI configuration and is reserved (RO with default value 0) in all other configurations.
Value Description
0x0 DISABLED
0x1 ENABLED
RW 0x0
24 eightxpbl
PBLx8 Mode

When set high, this bit multiplies the programmed PBL value (Bits[22:17] and Bits[13:8]) eight times. Therefore, the DMA transfers the data in 8, 16, 32, 64, 128, and 256 beats depending on the PBL value. 

Note: This bit function is not backward compatible. Before release 3.50a, this bit was 4xPBL.
Value Description
0x0 DISABLED
0x1 ENABLED
RW 0x0
23 usp
Use Seperate PBL

When set high, this bit configures the Rx DMA to use the value configured in Bits[22:17] as PBL. The PBL value in Bits[13:8] is applicable only to the Tx DMA operations.

When reset to low, the PBL value in Bits[13:8] is applicable for both DMA engines.
Value Description
0x0 DISABLED
0x1 ENABLED
RW 0x0
22:17 rpbl
Rx DMA PBL

This field indicates the maximum number of beats to be transferred in one Rx DMA transaction. This is the maximum value that is used in a single block Read or Write.

The Rx DMA always attempts to burst as specified in the RPBL bit each time it starts a Burst transfer on the host bus. You can program RPBL with values of 1, 2, 4, 8, 16, and 32. Any other value results in undefined behavior.
This field is valid and applicable only when USP is set high.
Value Description
0x1 RXDMAPBL1
0x2 RXDMAPBL2
0x4 RXDMAPBL4
0x8 RXDMAPBL8
0x10 RXDMAPBL6
0x20 RXDMAPBL32
RW 0x1
16 fb
Fixed Burst

This bit controls whether the AHB or AXI Master interface performs fixed burst transfers or not. When set, the AHB interface uses only SINGLE, INCR4, INCR8, or INCR16 during start of the normal burst transfers. When reset, the AHB or AXI interface uses SINGLE and INCR burst transfer operations.

For more information, see Bit 0 (UNDEF) of the AXI Bus Mode register in the GMAC-AXI configuration.
Value Description
0x0 NONFB
0x1 FB1_4_8_16
RW 0x0
15:14 pr
Priority Ratio

These bits control the priority ratio in the weighted round-robin arbitration between the Rx DMA and Tx DMA. These bits are valid only when Bit 1 (DA) is reset. The priority ratio is Rx:Tx or Tx:Rx depending on whether Bit 27 (TXPR) is reset or set.
 * 00: The Priority Ratio is 1:1.
 * 01: The Priority Ratio is 2:1.
 * 10: The Priority Ratio is 3:1.
 * 11: The Priority Ratio is 4:1.
In the GMAC-AXI configuration, these bits are reserved and  read-only (RO).
RW 0x0
13:8 pbl
Programmable Burst Length

These bits indicate the maximum number of beats to be transferred in one DMA transaction. This is the maximum value that is used in a single block Read or Write. The DMA always attempts to burst as specified in PBL each time it starts a Burst transfer on the host bus. PBL can be programmed with permissible values of 1, 2, 4, 8, 16, and 32. Any other value results in undefined behavior. When USP is set high, this PBL value is applicable only for Tx DMA transactions.
If the number of beats to be transferred is more than 32, then perform the following steps: 

1. Set the PBLx8 mode. <br>
2. Set the PBL. <br>
For example, if the maximum number of beats to be transferred is 64, then first set PBLx8 to 1 and then set PBL to 8. The PBL values have the following limitation: The maximum number of possible beats (PBL) is limited by the size of the Tx FIFO and Rx FIFO in the MTL layer and the data bus width on the DMA. The FIFO has a constraint that the maximum beat supported is half the depth of the FIFO, except when specified.

For different data bus widths and FIFO sizes, the valid PBL range (including x8 mode) is provided in the following list. If the PBL is common for both transmit and receive DMA, the minimum Rx FIFO and Tx FIFO depths must be considered. 

Note: In the half-duplex mode, the valid PBL range specified in the following list is applicable only for Tx FIFO.

 * 32-Bit Data Bus Width
 - 128 Bytes FIFO Depth: In the full-duplex mode, the valid PBL range is 16 or less. In the half-duplex mode, the valid PBL range is 8 or less for the 10 or 100 Mbps mode.
 - 256 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 32 or less.
 - 512 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 64 or less.
 - 1 KB FIFO Depth: In the full-duplex mode, the valid PBL range is 128 or less. In the half-duplex mode, the valid PBL range is 128 or less in the 10 or 100 Mbps mode and 64 or less in the 1000 Mbps mode.
 - 2 KB and Higher FIFO Depth: All PBL values are supported in the full-duplex mode and half-duplex modes. 

 * 64-Bit Data Bus Width
 - 128 Bytes FIFO Depth: In the full-duplex mode, the valid PBL range is 8 or less. In the half-duplex mode, the valid PBL range is 4 or less for the 10 or 100 Mbps mode.
 - 256 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 16 or less.
 - 512 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 32 or less.
 - 1 KB FIFO Depth: In the full-duplex mode, the valid PBL range is 64 or less. In the half-duplex mode, the valid PBL range is 64 or less in the 10 or 100 Mbps mode and 32 or less in the 1000-Mbps mode.
 - 2 KB FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 128 or less.
 - 4 KB and Higher FIFO Depth: All PBL values are supported in the full-duplex and half-duplex modes.

 * 128-Bit Data Bus Width
 - 128 Bytes FIFO Depth: In the full-duplex mode, the valid PBL range is 4 or less. In the half-duplex mode, the valid PBL range is 2 or less for the 10 or 100 Mbps mode.
 - 256 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 8 or less.
 - 512 Bytes FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 16 or less.
 - 1 KB FIFO Depth: In the full-duplex mode, the valid PBL range is 32 or less. In the half-duplex mode, the valid PBL range is 32 or less in the 10 or 100 Mbps mode and 16 or less in the 1000-Mbps mode.
 - 2 KB FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 64 or less.
 - 4 KB FIFO Depth: In the full-duplex mode and the half-duplex (10 or 100 Mbps) modes, the valid PBL range is 128 or less.
 - 8 KB and Higher FIFO Depth: All PBL values are supported in the full-duplex and half-duplex modes.
RW 0x1
7 atds
Alternate Descriptor Size

When set, the size of the alternate descriptor increases to 32 bytes (8 DWORDS). This is required when the Advanced Timestamp feature or the IPC Full Offload Engine (Type 2) is enabled in the receiver. The enhanced descriptor is not required if the Advanced Timestamp and IPC Full Checksum Offload (Type 2) features are not enabled. In such cases, you can use the 16 bytes descriptor to save 4 bytes of memory.

This bit is present only when you select the Alternate Descriptor feature and any one of the following features during core configuration:
 * Advanced Timestamp feature
 * IPC Full Checksum Offload Engine (Type 2) feature
Otherwise, this bit is reserved and read-only. 

When reset, the descriptor size reverts back to 4 DWORDs (16 bytes).
This bit preserves the backward compatibility for the descriptor size. In versions prior to 3.50a, the descriptor size is 16 bytes for both normal and enhanced descriptor. In version 3.50a, descriptor size is increased to 32 bytes because of the Advanced Timestamp and IPC Full Checksum Offload Engine (Type 2) features.
Value Description
0x0 CLEARRST
0x1 RESET
RW 0x0
6:2 dsl
Descriptor Skip Length

This bit specifies the number of Word, Dword, or Lword (depending on the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors. The address skipping starts from the end of current descriptor to the start of next descriptor. When the DSL value is equal to zero, the descriptor table is taken as contiguous by the DMA in Ring mode.
RW 0x0
1 da
DMA Arbitration Scheme

This bit specifies the arbitration scheme between the transmit and receive paths of Channel 0.
 * 0: Weighted round-robin with Rx:Tx or Tx:Rx
The priority between the paths is according to the priority specified in bits 15:14 (PR) and priority weights specified in Bit 27 (TXPR).
 * 1: Fixed priority
The transmit path has priority over receive path when Bit 27 (TXPR) is set. Otherwise, receive path has priority over the transmit path.

In the GMAC-AXI configuration, these bits are reserved and read-only (RO).
RW 0x0
0 swr
Software Reset

When this bit is set, the MAC DMA Controller resets the logic and all internal registers of the MAC. It is cleared automatically after the reset operation has completed in all of the DWC_gmac clock domains. Before reprogramming any register of the DWC_gmac, you should read a zero (0) value in this bit .

<b> Note: </b><br>
 * The Software reset function is driven only by this bit. Bit 0 of Register 64 (Channel 1 Bus Mode Register) or Register 128 (Channel 2 Bus Mode Register) has no impact on the Software reset function.
 * The reset operation is completed only when all resets in all active clock domains are de-asserted. Therefore, it is essential that all the PHY inputs clocks (applicable for the selected PHY interface) are present for the software reset completion.
Value Description
0x0 CLEARRST
0x1 RESET
RW 0x1