Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

5.8.7.6.1. Private Receive (Master Write) Transfers in Slave Mode

This section describes the flow for the private receive (master write) transfers. For private receive, the transfer is independent of any command from the application, that is, the private receive transfer does not require any command from the application.

Figure 198. Private Receive (Master Write) Transfers in Slave Mode

In PIO mode of operation, the INTR_STATUS [RX_THLD_STS] interrupt is enabled, but in DMA mode of operation the INTR_STATUS [RX_THLD_STS] interrupt is disabled. This is shown by the green dotted line in the figure above.

The following flow must be followed by the application software for master write transfer.

  • In PIO mode, the application fetches the threshold amount of data from the slave controller once the INTR_STATUS[RX_THLD_STS] interrupt is asserted.
    • In DMA mode, the received data is moved out of the RX FIFO by the external DMA programmed as non-flow controller.
  • The application receives the response interrupt once the number of responses in the response queue reaches the response threshold value. Once the response interrupt is received, the application must read the response status from the response queue. In DMA mode of operation, the response is generated only after the last transfer of the block has been read out by the external DMA from the Rx buffer.
  • If the error field bits are set to indicate that the received data from the slave controller has an error, the application must discard the received data from the memory and follow the error handling flow mentioned in Error Recovery Flow section.
  • If the data length in the response field is greater than the total data received by the application and there is no error bit set, then it should read the residue data from the RX buffer (applicable in PIO mode).