External Memory Interfaces (EMIF) IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 817467
Date 11/18/2024
Public
Document Table of Contents

13.2. Sending a Mailbox Command

Follow these steps to send a mailbox command.

  1. Write to the CMD_PARAM_* register. If the command does not require any CMD_PARAM – for example, GET_MEM_INTF_INFO – you can skip this step.
  2. Write to the CMD_REQ with the desired command (CMD_TARGET_IP_TYPE, CMD_TARGET_INSTANCE_ID, CMD_TYPE and CMD_OPCODE)
  3. Wait until STATUS_CMD_RESPONSE_READY (BIT 0 of CMD_RESPONSE_STATUS) equals 1 .
  4. Read the CMD_RESPONSE_DATA_* and/or CMD_RESPONSE_DATA_SHORT (as required for the CMD_REQ).
  5. Clear the STATUS_COMMAND_RESPONSE_READY (Bit 0 of CMD_RESPONSE_STATUS register) . Perform a Read-Modify-Write operation:
    1. Read from CMD_RESPONSE_STATUS register.
    2. Write_Data = Data in (a) & 0xffff_fffe (Change only bit 0 ).
    3. Write to Address = 0x500_045c Data= Write_Data from (b).
Figure 36. Sending a Mailbox Command