Board Management Controller User Guide: Intel FPGA Programmable Acceleration Card N3000-N

ID 683186
Date 9/08/2020
Public

4.2. Field Replaceable Unit Identification (FRUID) EEPROM Access

You can only read the field replaceable unit identification (FRUID) EEPROM (0xA0) from the host BMC through SMBus directly.

The structure in the FRUID EEPROM is based on the IPMI specification, Platform Management FRU Information Storage Definition, v1.3, March 24, 2015, from which a board information structure is derived. The FRUID EEPROM follows the common header format with Board Area and Product Info Area. Refer to the table below for what fields in the common header apply to the FRUID EEPROM.
Table 3.  Common Header of FRUID EEPROMAll the fields in the common header are mandatory.
Field Length in Bytes Field Description FRUID EEPROM Value
1 Common Header Format Version

7:4 - reserved, write as 0000b

3:0 - format version number = 1h for this specification

01h (Set as 00000001b)
1 Internal Use Area Starting Offset (in multiples of 8 bytes).

00h indicates that this area is not present.

00h (not present)
1 Chassis Info Area Starting Offset (in multiples of 8 bytes).

00h indicates that this area is not present.

00h (not present)
1 Board Area Starting Offset (in multiples of 8 bytes).

00h indicates that this area is not present.

01h
1 Product Info Area Starting Offset (in multiples of 8 bytes).

00h indicates that this area is not present.

0Ch
1 MultiRecord Area Starting Offset (in multiples of 8 bytes).

00h indicates that this area is not present.

00h (not present)
1 PAD, write as 00h 00h
1 Common Header Checksum (zero checksum) F2h

The common header bytes are placed from the first address of the EEPROM. The layout looks like the figure below.

Figure 3. FRUID EEPROM Memory Layout Block Diagram
Table 4.  FRUID EEPROM Board Area
Field Length in Bytes Field Description Field Values Field Encoding
1

Board Area Format Version

7:4 - reserved, write as 0000b

3:0 - format version number

0x01 Set to 1h (0000 0001b)
1 Board Area Length (in multiples of 8 bytes) 0x0B 88 bytes (includes 2 pad 00 bytes)
1 Language Code 0x00

Set to 0 for English

Note: No other languages supported at this time
3

Mfg. Date / Time: Number of minutes from 0:00 hrs 1/1/96.

Least Significant byte first (little endian)

00_00_00h = unspecified (Dynamic field)

0x10

0x65

0xB7

Time difference between 12:00 AM 1/1/96 to 12 PM 11/07/2018 is 12018960 minutes = b76510h – stored in little endian format
1 Board Manufacturer type/length byte 0xD2

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 010010b (18 bytes of data)

P Board Manufacturer bytes

0x49

0x6E

0x74

0x65

0x6C

0xAE

0x20

0x43

0x6F

0x72

0x70

0x6F

0x72

0x61

0x74

0x69

0x6F

0x6E

8-bit ASCII + LATIN1 coded

1 Board Product Name type/length byte 0xD5

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 010101b (21 bytes of data)

Q Board Product Name bytes

0X49

0X6E

0X74

0X65

0X6C

0XAE

0X20

0X46

0X50

0X47

0X41

0X20

0X50

0X41

0X43

0X20

0X4E

0X33

0X30

0X30

0X30

8-bit ASCII + LATIN1 coded

Intel® FPGA PAC N3000

1 Board Serial Number type/length byte 0xCC

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 001100b (12 bytes of data)

N Board Serial Number bytes (Dynamic field)

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

8-bit ASCII + LATIN1 coded

1st 6 hex digits are OUI: 000000

2nd 6 hex digits are MAC address: 000000
Note: This is coded as an example and needs to be modified in an actual device

1st 6 hex digits are OUI: 644C36

2nd 6 hex digits are MAC address: 00AB2E

Note: To identify not programmed FRUID, set OUI and MAC address to "0000".
1 Board Part Number type/length byte 0xCE

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 001110b (14 bytes of data)

M Board Part Number bytes

0x4B

0x38

0x37

0x35

0x38

0x34

0x2D

0x30

0x30

0x31

0x20

0x20

0x20

0x20

8-bit ASCII + LATIN1 coded with BOM ID.

For 14 byte length, the coded board part number example is K87584-001

Note: This is coded as an example and needs to be modified in an actual device.

This field value varies with different board PBA number.

PBA Revision has been removed in FRUID. These last four bytes return blank and are reserved for future use.

1 FRU File ID type/length byte 0x00

8-bit ASCII + LATIN1 coded

7:6 – 00b

5:0 – 000000b (0 bytes of data)

The FRU File ID bytes field that should follow this is not included as the field would be ‘null’.

Note: FRU File ID bytes. The FRU File version field is a pre-defined field provided as a manufacturing aid for verifying the file that was used during manufacture or field update to load the FRU information. The content is manufacturer-specific. This field is also provided in the Board Info area. Either or both fields may be ‘null’.
1 MMID type/length byte 0xC6

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 000110b (6 bytes of data)

Note: This is coded as an example and needs to be modified in an actual device
M MMID bytes

0x39

0x39

0x39

0x57

0x43

0x46

Formatted as 6 hex digits. Specific example in cell alongside Intel® FPGA PAC N3000-N MMID = 999PJD.

This field value varies with different SKUs fields like MMID, OPN, PBN etc.

1 C1h (type/length byte encoded to indicate no more info fields). 0xC1
Y 00h - any remaining unused space 0x00
1 Board Area Checksum (zero checksum) 0x35
Note: The checksum in this table is a zero checksum computed for the values used in the table. It must be recomputed for the actual values of a Intel® FPGA PAC N3000-N.
Table 5.  FRUID EEPROM Product Info Area
Field Length in Bytes Field Description Field Values Field Encoding
1

Product Area Format Version

7:4 - reserved, write as 0000b

3:0 - format version number = 1h for this specification

0x01 Set to 1h (0000 0001b)
1 Product Area Length (in multiples of 8 bytes) 0x0A Total of 80 bytes
1 Language Code 0x00

Set to 0 for English

Note: No other languages supported at this time
1 Manufacturer Name type/length byte 0xD2

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 010010b (18 bytes of data)

N Manufacturer Name bytes

0x49

0x6E

0x74

0x65

0x6C

0xAE

0x20

0x43

0x6F

0x72

0x70

0x6F

0x72

0x61

0x74

0x69

0x6F

0x6E

8-bit ASCII + LATIN1 coded

Intel® Corporation

1 Product Name type/length byte 0xD5

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 010101b (21 bytes of data)

M Product Name bytes

0x49

0x6E

0x74

0x65

0x6C

0xAE

0x20

0x46

0x50

0x47

0x41

0x20

0x50

0x41

0x43

0x20

0x4E

0x33

0x30

0x30

0x30

8-bit ASCII + LATIN1 coded

Intel® FPGA PAC N3000-N

1 Product Part/Model Number type/length byte 0xCE

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 001110b (14 bytes of data)

O Product Part/Model Number bytes

0x42

0x44

0x2D

0x4E

0x56

0x56

0x2D

0x4E

0x33

0x30

0x30

0x30

0x2D

0x56

8-bit ASCII + LATIN1 coded

OPN for the board BD-NVV-N3000-3

This field value varies with different Intel® FPGA PAC N3000-N OPNs.

1 Product Version type/length byte 0x01

8-bit binary

7:6 – 00b

5:0 – 000001b (1 byte of data)

R Product Version bytes 0x00

This field is encoded as family member

1

Product Serial Number type/length byte

0xCC

8-bit ASCII + LATIN1 coded

7:6 – 11b

5:0 – 001100b (12 bytes of data)

P

Product Serial Number bytes

(Dynamic field)

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

0x30

8-bit ASCII + LATIN1 coded

1st 6 hex digits are OUI: 000000

2nd 6 hex digits are MAC address: 000000

Note: This is coded as an example and needs to be modified in an actual device.

1st 6 hex digits are OUI: 644C36

2nd 6 hex digits are MAC address: 00AB2E

Note: To identify not programmed FRUID, set OUI and MAC address to "0000".
1 Asset Tag type/length byte 0x01

8-bit binary

7:6 – 00b

5:0 – 000001b (1 byte of data)

Q Asset Tag 0x00 Not supported
1 FRU File ID type/length byte 0x00

8-bit ASCII + LATIN1 coded

7:6 – 00b

5:0 – 000000b (0 bytes of data)

The FRU File ID bytes field that should follow this is not included as the field would be ‘null’.

Note: FRU file ID bytes. The FRU File version field is a pre-defined field provided as a manufacturing aid for verifying the file that was used during manufacture or field update to load the FRU information. The content is manufacturer-specific. This field is also provided in the Board Info area. Either or both fields may be ‘null’.
1 C1h (type/length byte encoded to indicate no more info fields). 0xC1
Y 00h - any remaining unused space 0x00
1

Product Info Area Checksum (zero checksum)

(Dynamic Field)

0xDC
Note: the checksum in this table is a zero checksum computed for the values used in the table. It must be recomputed for the actual values of a Intel® FPGA PAC.
1 These fields are always coded as if the language code is English.