Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.1.7.7. Stopping and Starting Transmission

Perform the following steps to pause the transmission for some time and then restart it:

  1. Disable the Transmit DMA (if applicable) by clearing bit 0 (ST) of the DMA_CH(#i)_Tx_Control register.
  2. Wait until the transmit DMA generates the stopped interrupt (TPS field of the DMA_CH(#i)_Status register).
  3. Wait for any previous frame transmissions to complete. You can check this by reading the appropriate fields of the MTL_TxQ0_Debug register (TRCSTS != 1 and TXQSTS = 0).
  4. Ensure that both TX queue and RX queue are empty; the TXQSTS = 0 in the MTL_TxQ0_Debug register and RXQSTS = 0 in the MTL_RxQ0_Debug register).
  5. Disable the MAC transmitter and MAC receiver by clearing bit 0 (RE) of the MAC_Rx_Configuration and bit 0 (TE) of the MAC_Tx_Configuration register.
  6. Disable the receive DMA (if applicable), after ensuring the data in the RX FIFO is transferred to the system memory (by reading the appropriate fields of the MTL_RxQ0_Debug register; PRXQ = 0 and RXQSTS = 00).
  7. Wait until the receive DMA generates the stopped interrupt, which is available in the RPS field of the DMA_CH(#i)_Status register.
  8. Restart the DMAs.
  9. Enable the MAC transmitter and receiver.