CMS_OP_READ_SOC_STATUS (0x11) - 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_SOC_STATUS (0x11) Message Format
MAILBOX Offset 32-bit Word Field Type Field Description
0x00 [0] Host Request Message Message Header

31:24 Opcode (0x11)

23:0 Reserved

0x04 [1] Host Request Message SoC Status Opcode

31:8 Reserved

7:0 SoC Status Opcode (0: System Status, 1: Firmware Versions)

0x08 [2] Host Request Message

System Status Response

31:6 Reserved

5 OS Recovery Required (0: False, 1: True)

4 SoC Enable Status (0: Disabled, 1: Enabled)

3:0 SoC State (0: Power-On, 1: U-Boot, 2: OS Starting, 3: OS Running, 4: OS Maintenance)

Firmware Versions Response

31:8 Reserved

7:0 Number of firmware versions reported

0x0C [3] CMS Response Message

System Status Response

31:8 Reserved

7:0 SoC Type (0: Undefined, 1: LX2162A)

Firmware Versions Response

31:8 Reserved

7:0 Version ID #1 (0: Boot Program, 1: U-Boot, 2: OS, 3: OS Maintenance)

0x10 [4] CMS Response Message

Firmware Versions Response

31:16 Minor Version #1

15:0 Major Version #1

0x14 [5] CMS Response Message

Firmware Versions Response

31:16 Build Version #1

15:0 Patch Version #1

0x18 [6] CMS Response Message

Firmware Versions Response

31:8 Reserved

7:0 Version ID #2 (0: Boot Program, 1: U-Boot, 2: OS, 3: OS Maintenance)

0x1C [7] CMS Response Message

Firmware Versions Response

31:16 Minor Version #2

15:0 Major Version #2

0x20 [8] CMS Response Message

Firmware Versions Response

31:16 Build Version #2

15:0 Patch Version #2

0x24-end [9-end] CMS Response Message

Firmware Versions Response

Version ID, Major, Minor, Patch and Build information will be reported for remaining firmware versions in same format as defined in words 6-8 above.

Table 2. CMS_OP_READ_SOC_STATUS (0x11) Worked Example - System Status
Host Action Function
Peek 0x28018 Check availability of the mailbox by confirming CONTROL_REG[5] is 0.
Poke 0x29000 0x11000000 Write the request message header into MAILBOX Word 0 (Opcode).

Assumes HOST_MSG_OFFSET_REG = 0x1000.

Poke 0x29004 0x00000000 Set SoC Status Opcode to 0x0 System Status
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 1st word of SoC System Status response data to determine SoC Status.

e.g 0x00000011 : SoC State = U-Boot, SoC Enable Status = Enabled

Peek 0x2900C Read 2nd word of SoC System Status response data to determine SoC type.

e.g. 0x00000001 : SoC Type = LX2162A

Table 3. CMS_OP_READ_SOC_STATUS (0x11) Worked Example - Firmware Versions
Host Action Function
Peek 0x28018 Check availability of the mailbox by confirming CONTROL_REG[5] is 0.
Poke 0x29000 0x11000000 Write the request message header into MAILBOX Word 0 (Opcode).

Assumes HOST_MSG_OFFSET_REG = 0x1000.

Poke 0x29004 0x00000001 Set SoC Status Opcode to 0x1 Firmware Versions
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 1st word of SoC Firmware Versions response data to determine number of firmware versions being reported.

e.g 0x00000004 : 4 Firmware Versions reported

Peek 0x2900C Read 2nd word of SoC Firmware Versions response data to determine ID of 1st firmware version being reported.

e.g. 0x00000000 : Version ID = Boot Program

Peek 0x29010 Read 3rd word of SoC Firmware Versions response data to determine major and minor versions of 1st firmware version being reported.

e.g. 0x00020001 : Major Version = 1, Minor Version = 2

Peek 0x29014 Read 4th word of SoC Firmware Versions response data to determine patch and build versions of 1st firmware version being reported.

e.g. 0x00040003 : Patch Version = 3, Build Version = 4

Peek 0x29018 Read 5th word of SoC Firmware Versions response data to determine ID of 2nd firmware version being reported.

e.g. 0x00000001 : Version ID = U-Boot

Peek 0x2901C Read 6th word of SoC Firmware Versions response data to determine major and minor versions of 2nd firmware version being reported.

e.g. 0x00020001 : Major Version = 1, Minor Version = 2

Peek 0x29020 Read 7th word of SoC Firmware Versions response data to determine patch and build versions of 2nd firmware version being reported.

e.g. 0x00040003 : Patch Version = 3, Build Version = 4

Peek 0x29024 Read 8th word of SoC Firmware Versions response data to determine ID of 3rd firmware version being reported.

e.g. 0x00000002 : Version ID = OS

Peek 0x29028 Read 9th word of SoC Firmware Versions response data to determine major and minor versions of 3rd firmware version being reported.

e.g. 0x00020001 : Major Version = 1, Minor Version = 2

Peek 0x2902C Read 10th word of SoC Firmware Versions response data to determine patch and build versions of 3rd firmware version being reported.

e.g. 0x00040003 : Patch Version = 3, Build Version = 4

Peek 0x29030 Read 11th word of SoC Firmware Versions response data to determine ID of 4th firmware version being reported.

e.g. 0x00000003 : Version ID = OS Maintenance

Peek 0x29034 Read 12th word of SoC Firmware Versions response data to determine major and minor versions of 4th firmware version being reported.

e.g. 0x00020001 : Major Version = 1, Minor Version = 2

Peek 0x29038 Read final word of SoC Firmware Versions response data to determine patch and build versions of 4th firmware version being reported.

e.g. 0x00040003 : Patch Version = 3, Build Version = 4