MAILBOX Offset | 32-bit Word | Field Type | Field Description |
---|---|---|---|
0x00
|
[0] | Host Request Message | Message Header 31:24
Opcode ( 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. |
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 =
|
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. For example, 0x00000011 : SoC State = U-Boot, SoC Enable Status = Enabled |
Peek 0x2900C
|
Read 2nd word of SoC System Status response data to determine SoC
type. For example, 0x00000001 : SoC Type = LX2162A |
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 =
|
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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 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. For example, 0x00040003 : Patch Version = 3, Build Version = 4 |