Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

5.1.7.6. Performing Normal Receive and Transmit Operation

For normal operation, perform the following steps:

  1. For normal transmit and receive interrupts, read the interrupt status. Then, poll the descriptors, reading the status of the descriptor owned by the Host (either transmit or receive).
  2. Set appropriate values for the descriptors, ensuring that transmit and receive descriptors are owned by the DMA to resume the transmission and reception of data.
  3. If the descriptors are not owned by the DMA (or no descriptor is available), the DMA goes into SUSPEND state. The transmission or reception can be resumed by freeing the descriptors and writing the descriptor tail pointer to the TX/RX tail pointer registers (DMA_CH(#i)_TxDesc_Tail_LPointer and DMA_CH(#i)_RxDesc_Tail_LPointer).
  4. The values of the current host transmitter or receiver descriptor address pointer can be read for the debug process:
    • DMA_CH(#i)_Current_App_TxDesc_L
    • DMA_CH(#i)_Current_App_RxDesc_L
  5. The values of the current host transmit buffer address pointer and receive buffer address pointer can be read for the debug process:
    • DMA_CH(#i)_Current_App_TxBuffer_L
    • DMA_CH(#i)_Current_App_TxBuffer_H
    • DMA_CH(#i)_Current_App_RxBuffer_L
    • DMA_CH(#i)_Current_App_RxBuffer_H