FRU Multi Records

Multi-Record Area

This section describes the how Xilinx specific data as well as server OEM specific data is represented. While all FRU data is exposed via I2C raw commands, some of the Multi-Records(MR) are reserved for Xilinx or for server OEM. Not all records in this multi-record area are relevant to every server OEM where an Alveo card is supported/qualified.

Table: Multi-Record (MR) Type

Record ID Record Type
0x00 – 0x0F IPMI specific - Refer IPMI FRU Spec
0x10 – 0xBF Reserved
0xC0 – 0xCF Reserved
0xD0 Alveo card thermal information
0xD1 Alveo card power information
0xD2 Xilinx Alveo card information
0xD3 - 0xDF Xilinx reserved
0xE0 - 0xFF OEM Reserved

Multi-Record (MR) Information

This field enables the software to determine record form at version. Refer to the IPMI FRU Specification, section 6.1.2 for additional information. The bits are defined in the following table.

Table: Multi-Record Information

Bits Description
Bits 7:7 End of List
Bits 6:4 Reserved, 000b
Bits 3:0

Record Format Version

0x02 for IPMI FRU v1.0; 0x00 otherwise

Multi-Record (MR) Checksum

Record Checksum

The record checksum covers byte positions after the header (following offset 0x04). This value must be calculated before the record header checksum. In the following example, the bytes 0x05 to 0x09 are used to calculate the record checksum.

Record Header Checksum

The checksum covers byte positions 0x00 to 0x03. This value must be calculated after the record checksum and updated at byte offset 0x04.

Table: Record and Record Header Checksum Example

Byte Offset Field Description Size (bytes) Sample Value
0 Record type (multi-record area) 1 0xD0 (Xilinx Thermal Info)
1 Record information 1 0x02 (multi-record area)
2 Record length 1 0x05
3 Record checksum 1 0xA6
4 Record header checksum 1 0x93
5 Data 1 0x01
6 Data 1 0x02
7 Data 1 0xF0
8 Data 1 0xAA
9 Data 1 0xBD

Multi-Record AreLayout

Table: Multi-Record Area Layout

Field Description Size (bytes) Format Default Value Comment
Xilinx multi-record header 9 Binary 0x00

Xilinx OEM thermal

information

Record 21 Binary 0x00 TBD
Xilinx multi-record header 9 Binary 0x00

Xilinx OEM power

information

Record 11 Binary 0x00 TBD
Xilinx multi-record header 9 Binary 0x00 OEM reserved
Record 21 Binary 0x00 TBD
Xilinx multi-record header 9 Binary 0x00 OEM reserved
Record 11 Binary 0x00 TBD
Xilinx multi-record header 9 Binary 0x00

OEM reserved

(end of records)

Record 6 Binary 0x00 TBD

Xilinx Multi-Record Header

The multi-area record header is defined by the IPMI specification (byte address 0-4). The OEM specific information can be derived from the 3-byte manufacturer identification field and the 1-byte version number field (byte address 5 and 8). The IPMI header along with the two additional fields (manufacturing ID and version number) are called Xilinx header for the multi-record area, which is nine bytes long. All of the Xilinx multi-record area has this header to the convenience of manufacturer identification. This helps server OEMs to parse and make sense of data that is relevant to their server platforms. Per the IPMI specification, the total length of record is 256.

Table: Xilinx Multi-Record Header

Byte Address Field Description Size (bytes) Format Default Value Notes
0 Record type 1 Binary 0x00 Refer MR Type table
1 Record info 1 Binary 0x00 Refer MR Info table
2 Record length 1 Binary 0x00  
3 Record checksum 1 Binary 0x00 Refer MR checksum table
4 Header checksum 1 Binary 0x00 Refer MR checksum table
5 Manufacturer ID 3 Binary

0xDA 0x10

0x00

Xilinx IANA ID
8 Version number 1 Binary 0x01  

Record Type

This unsigned byte is used to identify the information contained in the record. Refer to Multi-Record Information table.

Record Information

Refer to Multi-Record Information table

End of List

This bit indicates whether or not this is the last record in the multi-record area. If this bit is zero, it indicates that one or more records follow.

Record Format Version

The area version format is stored in the lower nibble of the second byte. This field is used to identify the revision level of information stored in this area. This number starts at zero for each new area. If changes need to be made to the record (e.g., fields added/removed) the version number should be increased to reflect the change. Unless otherwise noted, the record format version for all record types is 02h for this specification, including OEM record types. The latter provision is to provide for standardized data fields that precede the OEM specific data within the OEM record.

Record Length

This unsigned byte indicates the number of bytes of data in the record. This byte can also be used to find the next area in the list. If the end of list bit is zero, the length can be added to the starting offset of the current record data to get the offset of the next record header. This field allows for 0 to 255 bytes of data for each record.

Version Number

For Xilinx OEM multi-records, the version number is 0x01.

Manufacturer ID

The manufacturer ID field correlates multi-record information to a specific OEM. For Xilinx, the manufacturer ID is 4314 (0x10DA). Per the IPMI specification, this field is three bytes in long. For Xilinx specific multi-records, the full manufacturer ID, in LSB first, is 0xDA 0x10 0x00.

Note: Look up the manufacturer ID in the following web-page. The Manufacturer ID is a 20-bit value derived from the IANA Private Enterprise ID.

https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers

Xilinx OEM Record — Thermal

Table: Xilinx Thermal Information Record

Byte Offset Field Description Size (bytes) Format Default Value
0 Record type 1 Xilinx Thermal Info 0xD0
1 Record info 1 MR area 0x02
2 Record length 1 Binary; Excluding pad 0x19 (25 bytes)
3 Record checksum 1 Binary TBD
4 Record header checksum 1 Binary TBD
5 Manufacturer ID 3 Binary 0xDA 0x10 0x00
8 Version number 1 Binary 0x01
9 Reserved 21 Binary TBD

Record Type

The record type IDor Xilinx OEM information is 0xD0.

Record Information

The record information is 0x02. Refer to Multi-Record Information table

Length

The length of Xilinx thermal record is 25 bytes, excluding 5 pad bytes.

Record Checksum

Refer to Refer to Multi-Record Checksum table

Record Header Checksum

Refer to Refer to Multi-Record Checksum table

Manufacturer ID

For Xilinx, the manufacturer ID is 4314 (0x10DA). Per the IPMI specification, where LSB is first, Xilinx manufacturer ID is 0xDA 0x10 0x00.

Version Number

The Xilinx record version is 0x01.

Reserved

The values in these bytes are reserved and might not default to 0x00.

Xilinx OEM Record — Power

Table: Xilinx Power Information Record

Byte Offset Field Description Size (bytes) Format Default Value
0 Record type 1 Xilinx Power Info 0xD1
1 Record info 1 MR area 0x02
2 Record length 1 Binary; Excluding pad 0x10 (18 bytes)
3 Record checksum 1 Binary TBD
4 Record header checksum 1 Binary TBD
5 Manufacturer ID 3 Binary 0xDA 0x10 0x00
8 Version number 1 Binary 0x01
9 Reserved 21 Binary TBD

Record Type

Record Type ID for Xilinx OEM Information is 0xD1.

Record Information

Record information is 0x02. Refer OEM Reserved Multi-Records table for more info

Record Length

The length of Xilinx thermal record is 25 bytes, excluding five pad bytes.

Checksum

Refer to Refer to Multi-Record Checksum table

Record Header Checksum

Refer to Refer to Multi-Record Checksum table

Manufacturer ID

The Xilinx manufacturer ID is 4314 (0x10DA). Per IPMI specification, in LSB first, the Xilinx manufacturer ID is 0xDA 0x10 0x00.

Version Number

Xilinx record version is 0x01.

Reserved

The values in these bytes are TBD and might not default to 0x00.

Xilinx OEM Record — Board

Table: Xilinx Board Information Record

Byte Offset Field Description Size (bytes) Format Default Value
0 Record type 1 Xilinx Board Info 0xD2
1 Record info 1 MR area 0x02
2 Record length 1 Binary; Excluding pad 0x50 (80 bytes)
3 Record checksum 1 Binary TBD
4 Record header checksum 1 Binary TBD
5 Manufacturer ID 3 Binary 0xDA 0x10 0x00
8 Version number 1 Binary 0x01
9 Reserved 80 Binary TBD

Record Type

Record Type ID for Xilinx OEM Information is 0xD2.

Record Information

Record information is 0x02. Refer OEM Reserved Multi-Records table for more info

Record Length

The length of Xilinx thermal record is 25 bytes, excluding five pad bytes.

Checksum

Refer to Refer to Multi-Record Checksum table

Record Header Checksum

Refer to Refer to Multi-Record Checksum table

Manufacturer ID

The Xilinx manufacturer ID is 4314 (0x10DA). Per IPMI specification, in LSB first, the Xilinx manufacturer ID is 0xDA 0x10 0x00.

Version Number

Xilinx record version is 0x01.

Reserved

The values in these bytes are TBD and might not default to 0x00.

OEM Reserved Multi-Records

Per the IPMI FRU Specification, multi-records can be OEM specific. The Alveo card FRU has three Xilinx specific (OEM) contents, as detailed in the following table.

Table: OEM Reserved Multi-Records

Field Description Size (bytes) Format Default Value Comment
Xilinx MR header 9 Binary 0x00 OEM reserved
Record data 21 Binary 0x00 TBD
Xilinx MR header 9 Binary 0x00 OEM reserved
Record data 11 Binary 0x00 TBD
Xilinx MR header 9 Binary 0x00 OEM reserved - (End of Records)
Record data 6 Binary 0x00 TBD

Xilinx Support

For support resources such as answers, documentation, downloads, and forums, see the Alveo Accelerator Cards Xilinx Community Forum.

License

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License.

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

All images and documentation, including all debug and support documentation, are licensed under the Creative Commons (CC) Attribution 4.0 International License (the “CC-BY-4.0 License”); you may not use this file except in compliance with the CC-BY-4.0 License.

You may obtain a copy of the CC-BY-4.0 License at https://creativecommons.org/licenses/by/4.0/

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

XD059 | © Copyright 2021 Xilinx, Inc.