2EMAC2_DWCXG_DMA_CH2 Address Map

DMA Channel (#i) Registers.
Module Instance Base Address End Address
u_emac2__apb_reg_config_slave__10830000__DWCXG_DMA_CH2__SEG_L4_MP_emac2_s_0x0_0x10000 0x10833200 0x1083327F
Register Offset Width Access Reset Value Description
DMA_CH2_Control 0x0 32 RW 0x00000000
The DMA Channel2 Control register specifies the MSS value for segmentation, length to skip between two descriptors, and also the features such as header splitting and 8xPBL mode.
DMA_CH2_Tx_Control 0x4 32 RW 0x00000000
The DMA Channel2 Transmit Control register controls the Tx features such as PBL, TCP segmentation, and Tx Channel weights.
DMA_CH2_Rx_Control 0x8 32 RW 0x00000000
The DMA Channel2 Receive Control register controls the Rx features such as PBL, buffer size, and extended status.
DMA_CH2_Slot_Function_Control_Status 0xC 32 RW 0x00000000
This register contains the control bits for slot function and its status for Transmit path.
DMA_CH2_TxDesc_List_HAddress 0x10 32 RW 0x00000000
The Channel2 Tx Descriptor List HAddress register has the higher 8 or 16 bits of the start address of the Transmit descriptor list. This register is present only when DWC_xgmac is configured for 40-bit or 48-bit addressing mode.
  
  
  You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH2_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier. This register must be programmed with desired higher address before programming the DMA_CH2_TxDesc_List_LAddress register.
DMA_CH2_TxDesc_List_LAddress 0x14 32 RW 0x00000000
The Channel2 Tx Descriptor List LAddress register has the lower 32 bits of the start address of the Transmit descriptor list. The descriptor lists reside in the physical memory space of the application and must be Dword, or Lword-aligned (for 64-bit or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LSB to low.
  
  
  You can write to this register only when the Tx DMA has stopped, that is, the ST bit is set to zero in DMA_CH2_Tx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the ST bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the ST bit is set to 0, the DMA takes the descriptor address where it was stopped earlier.
DMA_CH2_RxDesc_List_HAddress 0x18 32 RW 0x00000000
The Channel2 Rx Descriptor List HAddress register has the higher 8 or 16 bits of the start address of the Receive descriptor list. This register is present only when DWC_xgmac is configured for 40-bit or 48-bit addressing mode.
  
  
  You can write to this register only when the Rx DMA has stopped, that is, the SR bit is set to zero in DMA_CH2_Rx_Control register. When stopped, this register can be written with a new descriptor list address. When you set the SR bit to 1, the DMA takes the newly-programmed descriptor base address. If this register is not changed when the SR bit is set to 0, the DMA takes the descriptor address where it was stopped earlier. This register must be programmed with desired higher address before programming the DMA_CH2_RxDesc_List_LAddress register.
DMA_CH2_RxDesc_List_LAddress 0x1C 32 RW 0x00000000
The Channel2 Rx Descriptor List LAddress register has the lower 32 bits of the start address of the Receive descriptor list.
  
  This register points to the start of the Receive Descriptor List. The descriptor lists reside in the physical memory space of the application and must be Dword or Lword-aligned (for 64-bit or 128-bit data bus). The DMA internally converts it to bus width aligned address by making the corresponding LS bits low. Writing to this register is permitted only when reception is stopped. When stopped, this register must be written to before the receive Start command is given. You can write to this register only when Rx DMA has stopped, that is, SR bit is set to zero in DMA_CH2_Rx_Control register. When stopped, this register can be written with a new descriptor list address.
  
  When you set the SR bit to 1, the DMA takes the newly programmed descriptor base address.
DMA_CH2_TxDesc_Tail_LPointer 0x24 32 RW 0x00000000
The Channel2 Tx Descriptor Tail LPointer register has the 32 bits end address of the Transmit descriptor list.
DMA_CH2_RxDesc_Tail_LPointer 0x2C 32 RW 0x00000000
The Channel2 Rx Descriptor Tail LPointer register has the 32 bits end address of the Receive descriptor list.
DMA_CH2_Tx_Control2 0x30 32 RW 0x00000000
The Tx_Control2 register contains programmable control to Outstanding read requests per DMA and the length of the Transmit descriptor ring.
DMA_CH2_Rx_Control2 0x34 32 RW 0x00000000
The Channel2 Rx Control2 register contains programmable control to Outstanding Write requests and the length of the Receive descriptor circular ring.
DMA_CH2_Interrupt_Enable 0x38 32 RW 0x00000000
The Channel2 Interrupt Enable register enables the interrupts reported by the Status register.
DMA_CH2_Rx_Interrupt_Watchdog_Timer 0x3C 32 RW 0x00000000
The Receive Interrupt Watchdog Timer register indicates the watchdog timeout for Receive Interrupt (RI) from the DMA. This can in terms of number of clock cycles (RWT field) or number of transferred bytes or number of packets received (RBCT) based on the value of programmable bit PSEL. When either of these fields are written with a non-zero value, the interrupt timer is enabled when a packet transfer is completed for which RI is not generated. The timers are cleared when the RI is generated by that RxDMA channel.
DMA_CH2_Current_App_TxDesc_L 0x44 32 RO 0x00000000
The Channel2 Current Application Transmit Descriptor High register has the lower 32 bits of the current address of the Transmit descriptor read by the DMA. The upper 32 address bits of the Current Transmit Descriptor are equal to the value written in the DMA_CH2_TxDesc_List_HAddress. Therefore, the upper address bits are not given in the register map.
DMA_CH2_Current_App_RxDesc_L 0x4C 32 RO 0x00000000
The Channel2 Current Application Receive Descriptor Low register has the lower 32 bits of the current address of the Receive descriptor read by the DMA. The upper 32 address bits of the Current Receive Descriptor are equal to the value written in the DMA_CH2_RxDesc_List_HAddress. Therefore, the upper address bits are not given in the register map.
DMA_CH2_Current_App_TxBuffer_H 0x50 32 RO 0x00000000
The Channel2 Current Application Transmit Buffer Address High register has the higher 8 or 16 bits of the current address of the Transmit buffer address read by the DMA. This register is present only when DWC_xgmac is configured for 40-bit or 48-bit addressing mode.
DMA_CH2_Current_App_TxBuffer_L 0x54 32 RO 0x00000000
The Channel2 Current Application Transmit Buffer Address Low register has the lower 32 bits of the current address of the Transmit buffer address read by the DMA.
DMA_CH2_Current_App_RxBuffer_H 0x58 32 RO 0x00000000
The Channel2 Current Application Receive Buffer Address High register has the higher 8 or 16 bits of the current address of the Receive buffer address read by the DMA. This register is present only when DWC_xgmac is configured for 40-bit or 48-bit addressing mode.
DMA_CH2_Current_App_RxBuffer_L 0x5C 32 RO 0x00000000
The Channel2 Current Application Receive Buffer Address Low register has the lower 32 bits of the current address of the Receive buffer address read by the DMA.
DMA_CH2_Status 0x60 32 RW 0x00000000
The software driver (application) reads the Status register during interrupt service routine or polling to determine the status of the DMA.
DMA_CH2_Debug_Status 0x64 32 RO 0x00000000
DMA Channe2 Debug Status register
DMA_CH2_Desc_Mem_Cache_Fill_Level 0x68 32 RO 0x00000000
The DMA Channel0 Descriptor Cache Fill Level Status register.
DMA_CH2_Miss_Packet_Cnt 0x6C 32 RO 0x00000000
This register has the number of the packets that are dropped by the DMA either due to Bus Error or due to programming the RPF field in the DMA_CH2_Rx_Control register.
DMA_CH2_Tx_Data_Xfer_Ring_Offset 0x70 32 RO 0x00000000
This register indicates the Offset of the Tx Descriptor List, for which the DMA engine is fetching the data.
DMA_CH2_Rx_Data_Xfer_Ring_Offset 0x74 32 RO 0x00000000
The DMA Channel0 Receive Data Transfer Ring Offset register indicates the Ring Offset of the Rx Descriptor List, for which the DMA engine is transferring the data.
DMA_CH2_Tx_Desc_Write_Ring_Offset 0x78 32 RO 0x00000000
This register indicates the Offset of the Tx Descriptor List, for which the DMA engine is closing the descriptor.
DMA_CH2_Rx_Desc_Write_Ring_Offset 0x7C 32 RO 0x00000000
This register indicates the Offset of the Rx Descriptor List, for which the DMA engine is closing the descriptor.