Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

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

5.8.7.6.5. Programming Flow to Prepare the Controller to Switch to Master Mode

This section describes the programming flow to prepare the controller in the slave mode to take the mastership from the current master. This programming flow is applicable only when the controller is configured as a secondary master.

Figure 202. Programming Flow to switch from Slave to Master Mode
  • Process all the outstanding responses and data from the response queue and Rx-FIFO respectively received in the slave mode.
  • Issue the Master Request (MR) to signal the current master for the mastership request.
  • Prepare the controller to accept the GETACCMST CCC by clearing the DEVICE_CTRL_EXTENDED[REQMST_ACK_CTRL] bit.
  • Wait for the INTR_STATUS[BUSOWNER_UPDATED_STS] interrupt. The interrupt is generated by the controller after the successful completion of the GETACCMST CCC transfer issued by the current master.
  • Process all the outstanding responses and data from the response queue and Rx-FIFO respectively received after the Master Request is accepted (if applicable).
  • Flush all the queues and FIFOs to prepare the controller in master mode from a clean state.
  • Program the DAT with the associated slave device information received through the broadcast DEFSLVS CCC transfer from the main master.
  • Set the DEVICE_CTRL[RESUME] bit to 1’b1 to enable the controller to start processing the transfer commands.