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.
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.
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.
|
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.
|