CMS_OP_READ_MODULE_LOW_SPEED_IO (0x0D) - 4.0 English

Alveo Card Management Solution Subsystem Product Guide (PG348)

Document ID
PG348
Release Date
2023-11-10
Version
4.0 English
Table 1. CMS_OP_READ_MODULE_LOW_SPEED_IO (0x0D) Message Format
MAILBOX Offset 32-bit Word Field Type Field Description
0x00 [0] Host Request Message Message Header

31:24 Opcode (0xD)

23:0 Reserved

0x04 [1] Host Request Message Cage Select (0-1)
0x08 [2] CMS Response Message Low Speed I/O Read Data

QSFP Module

31-5: Reserved

4: QSFP_INT_L (0: Interrupt Set, 1: Interrupt Clear)

3: QSFP_MODPRS_L (0: Module Present, 1: Module not Present)

2: QSFP_MODSEL_L (0: Module Selected, 1: Module not Selected)

1: QSFP_LPMODE (0: High Power Mode, 1: Low Power Mode)

0: QSFP_RESET_L (0: Reset Active, 1: Reset Clear)

DSFP Module

31-5: Reserved

4: DSFP_INT (0: Interrupt Clear, 1: Interrupt Set)

3: DSFP_PRS (0: Module not Present, 1: Module Present)

2: Reserved

1: DSFP_LPW (0: High Power Mode, 1: Low Power Mode)

0: DSFP_RST (0: Reset Clear, 1: Reset Active)

SFP+ Module

31-4: Reserved

3: SFP_PRS (0: Module not Present, 1: Module Present)

2-0: Reserved

Table 2. CMS_OP_READ_MODULE_LOW_SPEED_IO (0x0D) Worked Example
Host Action Function
Peek 0x28018 Check availability of the mailbox by confirming CONTROL_REG[5] is 0.
Poke 0x29000 0x0D000000 Write the request message header into MAILBOX Word 0 (Opcode).

Assumes HOST_MSG_OFFSET_REG = 0x1000.

Poke 0x29004 0x00000000 Select Cage 0
Poke 0x28018 0x20 Set CONTROL_REG[5] to 1 to indicate a new request message is available.
Peek 0x28018 Poll CONTROL_REG bit 5 until ‘0’ is received indicating CMS Response is available.
Peek 0x28304 Confirm there are no errors in HOST_MSG_ERR_REG.
Peek 0x29008 Read low speed I/O read data and decode according to module type.
Example 1 : QSFP module read data 0x11
  • Bit 4 - QSFP_INT_L = 1 - Interrupt Clear
  • Bit 3 - QSFP_MODPRS_L = 0 - Module Present
  • Bit 2 - QSFP_MODSEL_L = 0 - Module Selected
  • Bit 1 - QSFP_LPMODE = 0 - High Power Mode
  • Bit 0 - QSFP_RESET_L = 1 - Reset Clear
Example 2 : DSFP module read data 0x0A
  • Bit 4 - DSFP_INT = 0 - Interrupt Clear
  • Bit 3 - DSFP_PRS = 1 - Module Present
  • Bit 1 - DSFP_LPW = 1 - Low Power Mode
  • Bit 0 - DSFP_RST = 0 - Reset Clear
Example 3 : SFP+ module read data 0x08
  • Bit 3 - SFP_PRS = 1 - Module Present