PLDM control and discovery
The single-threaded responder model is supported (see DSP-240). This is implemented to respond to one
request at a time. This means that any new requests are discarded before responding to the
current request.
Use the following fields to track a PLDM request.
- Transport address, MCTP endpoint ID (EID) of the requester
- PLDM Type
- PLDM command code
- Instance ID of the PLDM request
The request-to-response time (the amount of time from the end of the request reception to
the beginning of the response transmission) is set to a maximum of 100 milliseconds.
The PLDM type code for the PLDM messaging control and discovery commands are defined as
000000b (see
DSP-245 Chapter 6). The following PLDM base control
and discovery commands are supported (see
DSP-240).
Code |
Command |
0x01 |
Set terminus ID (TID) |
0x02 |
Get TID |
0x03 |
Get PLDM version |
0x04 |
Get PLDM types |
0x05 |
Get PLDM commands |
PLDM platform monitoring and control commands
The PLDM type code for PLDM platform monitoring and control commands is 000010b (see DSP-245 Chapter 6).
This table shows the supported PLDM commands for the PLDM monitoring (see
DSP-248 Chapter 30).
Code |
Command |
0x11 |
Get sensor reading |
0x12 |
Get sensor thresholds |
0x50 |
Get platform descriptor record (PDR) repository info |
0x51 |
Get PDR |
Generic PLDM completion codes
The following generic completion codes are used as defined in
DSP-240 Section 7.2.
Code |
Message |
0x00 |
SUCCESS |
0x01 |
ERROR |
0x02 |
ERROR_INVALID_DATA |
0x03 |
ERROR_INVALID_LENGTH |
0x04 |
ERROR_NOT_READY |
0x05 |
ERROR_UNSUPPORTED_PLDM_CMD |
0x20 |
ERROR_INVALID_PLDM_TYPE |
PLDM numeric sensors
All numeric sensors are
individually described using the numeric sensor PDR (see DSP-248 Section 28.4). Auxiliary names are assigned
to all numeric sensors (see DSP-248 Section 28.18).
This table shows a list
of the numeric board sensors. Some sensors require that the driver (ntservice) is loaded on
the host, after power-on. See the availability columns in the following tables.
Note: Table legend:
- X: Available.
- –: Not available.
Sensor ID |
Sensor Name |
Unit |
Availability |
Descriptions |
After power-on |
After driver load |
1 |
FPGA temperature |
°C |
– |
X |
Temperature of the FPGA chip |
2 |
Fan speed |
RPM |
X |
X |
Fan speed (rotations per minute) |
3 |
BMC temperature |
°C |
X |
X |
Temperature of the board management controller |
4 |
Core supply temperature |
°C |
X |
X |
Temperature of the regulated-core-power supply for the FPGA. |
5 |
Board temperature |
°C |
X |
X |
PCB temperature1 |
This table shows the supported pluggable-module
sensors.
Note: Table legend:
- X: Available.
- –: Not available.
Sensor ID |
Sensor Name |
Unit |
Availability |
Descriptions |
After power-on |
After FPGA image / driver loaded |
6 |
Port 0 Temperature |
°C |
– |
X |
Digital temperature sensor readout of pluggable module in port 0 |
7 |
Port 1 Temperature |
°C |
– |
X |
Digital temperature sensor readout of pluggable module in port 1 |
PLDM PDR common header
All PDRs contain the common header format as follows (see
DSP-248 Section 28.1).
Type |
PDR field |
Size in bytes |
uint32 |
recordHandle |
4 |
uint8 |
PDRHeaderVersion |
1 |
uint8 |
PDRType |
1 |
uint16 |
recordChangeNumber |
2 |
uint16 |
dataLength |
2 |
Total |
10 |
PLDM FRU data commands
The PLDM type code for the PLDM FRU data transfer is 000100b (see DSP-245, Table 1 in Chapter 6).
The following table shows the supported PLDM FRU data transfer commands.
Code |
Command |
Notes |
0x01 |
GetFRURecordTableMetadata |
Get the size of the FRU record. |
0x02 |
GetFRURecordTable |
Get the FRU record. |
PLDM FRU record table
The vital product data (VPD) is stored in non-volatile memory. The FRU record can be
retrieved from memory via BMC and viewed as a table. The FRU record table is structured as
follows. The encoding for the FRU record table is little endian.
FRU field |
Value |
Examples |
FRU Record Set Identifier #1 |
0xF1 |
|
FRU Record Type #1 |
1 = General FRU Record |
|
Number of FRU fields |
3 |
|
Encoding Type for FRU fields 1 |
1 = ASCII |
|
FRU Field #1 Type |
2 = Model |
|
FRU Field #1 Length |
|
|
FRU Field #1 Value |
|
NT400D11 |
FRU Field #2 Type |
3 = Part Number |
|
FRU Field #2 Length |
|
|
FRU Field #2 Value |
|
810-0103-01-09-01 |
FRU Field #3 Type |
4 = Serial Number |
|
FRU Field #3 Length |
|
|
FRU Field #3 Value |
|
0000-243730 |
See
DSP-257 (table 2 in Section 7.5) for information on
the PLDM record data format.