Visible to Intel only — GUID: lme1685720024605
Ixiasoft
- 4.1.2. s0_axi4_clock_out for Agilex 5 E-Series External Memory Interfaces (EMIF) IP - DDR4 Component
- 4.2.2. s0_axi4_clock_out for Agilex 5 E-Series External Memory Interfaces (EMIF) IP - DDR5 Component
Visible to Intel only — GUID: lme1685720024605
Ixiasoft
13.1.1. Mailbox Supported Commands
Read-Only Registers
The following read-only registers provide direct access to retrieve information. Note that these registers are not write-protected; you should not attempt to write to any of these registers. Additionally, you should avoid reading from registers that are not used in the target design, as doing so might result in unpredictable or invalid data being returned.
Register Name | Byte Offset (Hexadecimal) | Description |
---|---|---|
MAILBOX_HEADER | 0x000 | [Output] Mailbox Header This register specifies information about the mailbox protocol. [Fields] [2:0] MB_SPEC_VER: This field specifies the version of mailbox specification being used by the IOSSM firmware. Current version number is 1. |
MEM_INTF_INFO_0 | 0x200 | [Output] Memory Interface Information This register specifies the memory interface IP type and instance ID for the interface 0/1 in the IO96B. It will only return the primary interface of each channel. [Fields] [31:29] IP_TYPE: Indicates the type of IP:
|
MEM_INTF_INFO_1 | 0x280 | |
MEM_TECHNOLOGY_INTF0 | 0x210 | [Output] Memory Technology This register provides the memory technology type for the memory interface 0/1. [Fields] [2:0] TECH: Reports the memory technology type:
|
MEM_TECHNOLOGY_INTF1 | 0x290 | |
MEMCLK_FREQ_INTF0 | 0x220 | [Output] Memory Clock Frequency - This register reports the memory clock frequency in kilohertz (KHz) for the memory interface 0/1. For protocols with multiple FSPs, it reports the current memory clock frequency in kilohertz (KHz). [Fields] [31:0] FREQ_KHZ_FSP_CUR: Current memory clock frequency in KHz. |
MEMCLK_FREQ_INTF1 | 0x2A0 | |
MEMCLK_FREQ_FSP0_INTF0 | 0x224 | [Output] Memory Clock Frequency - Frequency Set Point 0 This register reports the memory clock frequency in kilohertz (KHz) for Frequency Set Point 0 of the memory interface 0/1. Only valid for LPDDR5 protocol. [Fields] [31:0] FREQ_KHZ_FSP0: Memory clock frequency in KHz for Frequency Set Point 0. |
MEMCLK_FREQ_FSP0_INTF1 | 0x2A4 | |
MEMCLK_FREQ_FSP1_INTF0 | 0x228 | [Output] Memory Clock Frequency - Frequency Set Point 1 This register reports the memory clock frequency in kilohertz (KHz) for Frequency Set Point 1 of the memory interface 0/1. Only valid for LPDDR5 protocol. [Fields] [31:0] FREQ_KHZ_FSP1: Memory clock frequency in KHz for Frequency Set Point 1. |
MEMCLK_FREQ_FSP1_INTF1 | 0x2A8 | |
MEMCLK_FREQ_FSP2_INTF0 | 0X22C | MEMCLK_FREQ_INTF0_FSP2 [Output] Memory Clock Frequency - Frequency Set Point 2 This register reports the memory clock frequency in kilohertz (KHz) for Frequency Set Point 2 of the memory interface 0/1. Only valid for LPDDR5 protocol. [Fields] [31:0] FREQ_KHZ_FSP2: Memory clock frequency in KHz for Frequency Set Point 2. |
MEMCLK_FREQ_FSP2_INTF1 | 0x2AC | |
MEM_WIDTH_INFO_INTF0 | 0x230 | [Output] Memory Width Information This register provides the memory width information for the memory interface 0/1. [Fields] [23:16] C_WIDTH: Channel width. [15:8] CS_WIDTH: Chip select width. [7:0] DQ_WIDTH: Data width |
MEM_WIDTH_INFO_INTF1 | 0x2B0 | |
MEM_TOTAL_CAPACITY_INTF0 | 0x234 | Output] Total Memory Capacity This register reports the total memory capacity per channel in gigabits (Gb) for the memory interface 0/1. [Fields] [7:0] CAPACITY_GBITS: Total memory device capacity per channel in Gb. Total memory capacity is calculated as: CAPACITY = (DQ_WIDTH / DEVICE_WIDTH) * NUM_RANKS * C_WIDTH * DEVICE_DENSITY |
MEM_TOTAL_CAPACITY_INTF1 | 0x2B4 | |
ECC_ENABLE_INTF0 | 0x240 | [Output] ECC Enable Status This register provides detailed information regarding the ECC enable status and type for the memory interface 0/1. [Fields] [18:18] RD_LINK_ECC_ENABLED: Indicates the Read Link-ECC enable status.
[17:17] WR_LINK_ECC_ENABLED: Indicates the Write Link-ECC enable status.
[16:16] LINK_ECC_SUPPORTED: Indicates if Link-ECC is supported by the interface.
[8:8] ECC_TYPE: Specifies the ECC operational mode.
|
ECC_ENABLE_INTF1 | 0x2C0 | |
ECC_SCRUB_STATUS_INTF0 | 0x244 | [Output] ECC Scrub Status This register indicates the ECC scrub operation status for the memory interface 0/1. [Fields] [1:1] ECC_SCRUB_IN_PROGRESS: Reports whether an ECC scrub operation is currently in progress.
|
ECC_SCRUB_STATUS_INTF1 | 0x2C4 | |
LP_MODE_INTF0 | 0x250 | [Output] Low Power Mode Status This register provides the current low power state and its validity for the memory interface 0/1. [Fields] [5:0] LP_STATE: Current Interface Low Power State.
|
LP_MODE_INTF1 | 0x2D0 | |
MEM_INIT_STATUS_INTF0 | 0x260 | [Output] BIST Memory Initialization Status This register holds the status of the BIST memory initialization operation for the memory interface specified by the instance ID. The value of this register is only valid if the mailbox command BIST_MEM_INIT_START was issued previously. [Fields] [0:0] MEM_INIT_STATUS: Indicates the status of the BIST memory content initialization operation.
|
MEM_INIT_STATUS_INTF1 | 0x2E0 | |
BIST_STATUS_INTF0 | 0x264 | [Output] BIST Results Status This register contains BIST results for the previously initiated BIST operation for memory interface 0/1 [Fields] [31:16] BIST_FAIL_RESULT_OFFSET: Holds the offset pointer of the BIST failure results. The data at the pointer location will be as below:
|
BIST_STATUS_INTF1 | 0x2E4 | |
ECC_ERR_STATUS | 0x300 | [Output] ECC Error Status This register contains the status of the ECC error buffer. [Fields] [31:16] ECC_ERR_OVERFLOW: This field indicates that buffer overflow has occurred due to a new ECC interrupt occurring after the ECC error buffer is at full capacity of 16 entries. Each new interrupt type that cannot be enqueued into the buffer are logically-OR’d to the existing contents of the overflow status field. The ECC interrupt types indicated by the different positional bits in the overflow field are as below:
|
ECC_ERR_DATA_START | 0x310 | [Output] ECC Error Data Start This register is the start of the ECC error data buffer. The buffer has a maximum capacity of 16 ECC errors. Each ECC error data entry has a size of 64 bits arranged in two 32-bit registers (Register 1 and Register 2 ). The mailbox command ECC_CLEAR_ERR_BUFFER clears the ECC error buffer and resets the ECC_ERR_COUNTER to 0. [Fields] R1[24:22] IP_TYPE: This field specifies the IP type of the interface that produced the ECC interrupt. IP_TYPE of 0 indicates that the buffer entry is not populated with valid data. R1[21:17] INSTANCE_ID: This field specifies the instance ID of the interface that produced the ECC interrupt. R1[16:10] ECC_ERR_SOURCE_ID: This field specifies the source ID associated with the ECC event. For AXI ports, the source ID is comprised of the Port ID (upper bit/s) and the Requestor ID, where the Requestor ID is the axi0_AWID for write commands or the axi0_ARID for read commands. R1[9:6] ECC_ERR_TYPE: This field specifies the ECC interrupt type of the ECC event.
R1[5:0] ECC_ERR_ADDR_UPPER: This field specifies the upper 6 bits of the address of the read data that caused the ECC event. The Controller will pad this parameter with zeros for any address bits not used by the controller. R2[31:0] ECC_ERR_ADDR_LOWER: This field specifies the lower 32 bits of the address of the read data that caused the ECC event. The Controller will pad this parameter with zeros for any address bits not used by the controller.
Note: Refer to ECC Error Handling for details on ECC Error Buffer Byte Offset.
|
STATUS | 0x400 | [Output] Status Register “At a Glance” status register. This field is automatically updated by the Calibration IOSSM and no explicit operation is required to trigger an update.
|
STATUS_CAL_INTF0 | 0x404 | [Output] Memory Calibration Status This register provides the calibration status for memory interface 0/1. [Fields] [2:0] STATUS: Calibration Status of memory interface
|
STATUS_CAL_INTF1 | 0x408 |
Mailbox Supported Commands
The following registers require handshaking procedures with the mailbox for successful retrieval of information. Refer to the instructions described in Sending a Mailbox Command for more information on handshaking procedures.
CMD_TYPE Enum | CMD_OPCODE Enum | Value |
---|---|---|
CMD_TRIG_CONTROLLER_OP (value=0x4) | ECC_ENABLE_SET | 0x0101 |
ECC_INTERRUPT_MASK | 0x0105 | |
ECC_WRITEBACK_ENABLE | 0x0106 | |
ECC_INJECT_ERROR | 0x0109 | |
ECC_CLEAR_ERR_BUFFER | 0x0110 | |
ECC_SCRUB_MODE_0_START | 0x0202 | |
ECC_SCRUB_MODE_1_START | 0x0203 | |
BIST_STANDARD_MODE_START | 0x0301 | |
BIST_MEM_INIT_START | 0x0303 | |
BIST_SET_DATA_PATTERN_UPPER | 0x0305 | |
BIST_SET_DATA_PATTERN_LOWER | 0x0306 | |
CHANGE_FSP_LP5 | 0x0c01 | |
LP_MODE_ENTER | 0x0d01 | |
LP_MODE_EXIT | 0x0d02 | |
LP_MODE_AUTO | 0x0d04 | |
CMD_TRIG_MEM_CAL_OP (value=0x5) |
TRIG_MEM_CAL | 0x000a |