|
enum | pldm_firmware_update_commands {
PLDM_FW_UPDATE_CMD_CODE_QUERY_DEVICE_IDENTIFIERS = 0x01
, PLDM_FW_UPDATE_CMD_CODE_GET_FIRMWARE_PARAMETERS = 0x02
, PLDM_FW_UPDATE_CMD_CODE_QUERY_DOWNSTREAM_DEVICES = 0x03
, PLDM_FW_UPDATE_CMD_CODE_QUERY_DOWNSTREAM_IDENTIFIERS = 0x04
,
PLDM_FW_UPDATE_CMD_CODE_GET_DOWNSTREAM_FW_PARAMETERS = 0x05
, PLDM_FW_UPDATE_CMD_CODE_REQUEST_UPDATE = 0x10
, PLDM_FW_UPDATE_CMD_CODE_PASS_COMPONENT_TABLE = 0x13
, PLDM_FW_UPDATE_CMD_CODE_UPDATE_COMPONENT = 0x14
,
PLDM_FW_UPDATE_CMD_CODE_REQUEST_FIRMWARE_DATA = 0x15
, PLDM_FW_UPDATE_CMD_CODE_TRANSFER_COMPLETE = 0x16
, PLDM_FW_UPDATE_CMD_CODE_VERIFY_COMPLETE = 0x17
, PLDM_FW_UPDATE_CMD_CODE_APPLY_COMPLETE = 0x18
,
PLDM_FW_UPDATE_CMD_CODE_ACTIVE_FIRMWARE = 0x1A
, PLDM_FW_UPDATE_CMD_CODE_GET_STATUS = 0x1B
, PLDM_FW_UPDATE_CMD_CODE_CANCEL_UPDATE_COMPONENT = 0x1C
, PLDM_FW_UPDATE_CMD_CODE_CANCEL_UPDATE = 0x1D
} |
|
enum | pldm_firmware_update_completion_codes {
PLDM_FW_UPDATE_CC_NOT_IN_UPDATE_MODE = 0x80
, PLDM_FW_UPDATE_CC_ALREADY_IN_UPDATE_MODE = 0x81
, PLDM_FW_UPDATE_CC_DATA_OUT_OF_RANGE = 0x82
, PLDM_FW_UPDATE_CC_INVALID_TRANSFER_LENGTH = 0x83
,
PLDM_FW_UPDATE_CC_INVALID_STATE_FOR_COMMAND = 0x84
, PLDM_FW_UPDATE_CC_INCOMPLETE_UPDATE = 0x85
, PLDM_FW_UPDATE_CC_BUSY_IN_BACKGROUND = 0x86
, PLDM_FW_UPDATE_CC_CANCEL_PENDING = 0x87
,
PLDM_FW_UPDATE_CC_COMMAND_NOT_EXPECTED = 0x88
, PLDM_FW_UPDATE_CC_RETRY_REQUEST_FW_DATA = 0x89
, PLDM_FW_UPDATE_CC_UNABLE_TO_INITIATE_UPDATE = 0x8A
, PLDM_FW_UPDATE_CC_ACTIVATION_NOT_REQUIRED = 0x8B
,
PLDM_FW_UPDATE_CC_SELF_CONTAINED_ACTIVATION_NOT_PERMITTED = 0x8C
, PLDM_FW_UPDATE_CC_NO_DEVICE_METADATA = 0x8D
, PLDM_FW_UPDATE_CC_RETRY_REQUEST_UPDATE = 0x8E
, PLDM_FW_UPDATE_CC_NO_PACKAGE_DATA = 0x8F
,
PLDM_FW_UPDATE_CC_INVALID_TRANSFER_HANDLE = 0x90
, PLDM_FW_UPDATE_CC_INVALID_TRANSFER_OPERATION_FLAG = 0x91
, PLDM_FW_UPDATE_CC_ACTIVATE_PENDING_IMAGE_NOT_PERMITTED = 0x92
, PLDM_FW_UPDATE_CC_PACKAGE_DATA_ERROR = 0x93
} |
|
enum | pldm_firmware_update_string_type {
PLDM_COMP_VER_STR_TYPE_UNKNOWN = 0
, PLDM_COMP_ASCII = 1
, PLDM_COMP_UTF_8 = 2
, PLDM_COMP_UTF_16 = 3
,
PLDM_COMP_UTF_16LE = 4
, PLDM_COMP_UTF_16BE = 5
} |
|
enum | pldm_firmware_update_support_downstream_devices { PLDM_FW_UPDATE_NOT_SUPPORT_DOWNSTREAM_DEVICES = 0x00
, PLDM_FW_UPDATE_SUPPORT_DOWNSTREAM_DEVICES = 0x01
} |
|
enum | pldm_firmware_update_state {
STATE_IDLE
, STATE_LEARN_COMP
, STATE_RDY_XFER
, STATE_DOWNLOAD
,
STATE_VERIFY
, STATE_APPLY
, STATE_ACTIVATE
} |
|
enum | pldm_firmware_update_aux_state { STATE_AUX_INPROGRESS
, STATE_AUX_SUCCESS
, STATE_AUX_FAILED
, STATE_AUX_NOT_IN_UPDATE
} |
|
enum | {
COMP_CLASS_TYPE_UNKNOWN = 0x0000
, COMP_CLASS_TYPE_OTHER
, COMP_CLASS_TYPE_DRIVER
, COMP_CLASS_TYPE_CFG_SW
,
COMP_CLASS_TYPE_APP_SW
, COMP_CLASS_TYPE_INSTR
, COMP_CLASS_TYPE_FW_BIOS
, COMP_CLASS_TYPE_DIAG_SW
,
COMP_CLASS_TYPE_OS
, COMP_CLASS_TYPE_MW
, COMP_CLASS_TYPE_FW
, COMP_CLASS_TYPE_BIOS_FC
,
COMP_CLASS_TYPE_SP_SV_P
, COMP_CLASS_TYPE_SW_BUNDLE
, COMP_CLASS_TYPE_DOWNSTREAM = 0xFFFF
, COMP_CLASS_TYPE_MAX = 0x10000
} |
|
enum | pldm_firmware_update_common_error_codes { PLDM_FW_UPDATE_FD_ABORT = 0x03
, PLDM_FW_UPDATE_TIME_OUT = 0x09
, PLDM_FW_UPDATE_GENERIC_ERROR = 0x0A
} |
|
enum | pldm_firmware_update_transfer_result_values { PLDM_FW_UPDATE_TRANSFER_SUCCESS = 0x00
} |
|
enum | pldm_firmware_update_verify_result_values { PLDM_FW_UPDATE_VERIFY_SUCCESS = 0x00
} |
|
enum | pldm_firmware_update_apply_result_values {
PLDM_FW_UPDATE_APPLY_SUCCESS = 0x00
, PLDM_FW_UPDATE_APPLY_SUCCESS_HAS_MODIFY_ACTIVATE_METHOD
, PLDM_FW_UPDATE_APPLY_FAIL_WITH_MEMORY_WRITE_ISSUE
, PLDM_FW_UPDATE_APPLY_TIMEOUT_OCCURRED = 0x09
,
PLDM_FW_UPDATE_APPLY_GENERIC_ERROR_OCCURRED
} |
|
enum | pldm_firmware_update_transfer_operation_flag { PLDM_FW_UPDATE_GET_NEXT_PART
, PLDM_FW_UPDATE_GET_FIRST_PART
} |
|
enum | pldm_firmware_update_transfer_flag { PLDM_FW_UPDATE_TRANSFER_START = 0x01
, PLDM_FW_UPDATE_TRANSFER_MIDDLE = 0x02
, PLDM_FW_UPDATE_TRANSFER_END = 0x04
, PLDM_FW_UPDATE_TRANSFER_START_AND_END = 0x05
} |
|
enum | pldm_component_classification_values {
PLDM_COMP_UNKNOWN = 0x0000
, PLDM_COMP_OTHER = 0x0001
, PLDM_COMP_DRIVER = 0x0002
, PLDM_COMP_CONFIGURATION_SOFTWARE = 0x0003
,
PLDM_COMP_APPLICATION_SOFTWARE = 0x0004
, PLDM_COMP_INSTRUMENTATION = 0x0005
, PLDM_COMP_FIRMWARE_OR_BIOS = 0x0006
, PLDM_COMP_DIAGNOSTIC_SOFTWARE = 0x0007
,
PLDM_COMP_OPERATING_SYSTEM = 0x0008
, PLDM_COMP_MIDDLEWARE = 0x0009
, PLDM_COMP_FIRMWARE = 0x000A
, PLDM_COMP_BIOS_OR_FCODE = 0x000B
,
PLDM_COMP_SUPPORT_OR_SERVICEPACK = 0x000C
, PLDM_COMP_SOFTWARE_BUNDLE = 0x000D
, PLDM_COMP_DOWNSTREAM_DEVICE = 0xFFFF
} |
|
enum | pldm_firmware_update_descriptor_types {
PLDM_PCI_VENDOR_ID = 0x0000
, PLDM_FWUP_IANA_ENTERPRISE_ID = 0x0001
, PLDM_PCI_DEVICE_ID = 0x0100
, PLDM_ASCII_MODEL_NUMBER_LONG_STRING = 0x0106
,
PLDM_ASCII_MODEL_NUMBER_SHORT_STRING = 0x0107
, PLDM_FWUP_VENDOR_DEFINED = 0xFFFF
} |
| Descriptor types defined in PLDM firmware update specification DSP0267 Table 7 – Descriptor identifier table. More...
|
|
enum | pldm_firmware_update_descriptor_types_length {
PLDM_PCI_VENDOR_ID_LENGTH = 2
, PLDM_FWUP_IANA_ENTERPRISE_ID_LENGTH = 4
, PLDM_PCI_DEVICE_ID_LENGTH = 2
, PLDM_ASCII_MODEL_NUMBER_LONG_STRING_LENGTH = 40
,
PLDM_ASCII_MODEL_NUMBER_SHORT_STRING_LENGTH = 10
} |
| Descriptor types length defined in PLDM firmware update specification DSP0267 Table 7 – Descriptor identifier table. More...
|
|
enum | comp_rsp_code { COMP_RSP_CAN_UPDATE = 0x00
, COMP_RSP_FD_NOT_SUPPORT = 0x06
, COMP_RSP_UNKNOWN_ERR = 0xD0
} |
|
enum | comp_act_mdthod {
COMP_ACT_AUTO = 0x0001
, COMP_ACT_SELF = 0x0002
, COMP_ACT_MED_RESET = 0x0004
, COMP_ACT_SYS_REBOOT = 0x0008
,
COMP_ACT_DC_PWR_CYCLE = 0x0010
, COMP_ACT_AC_PWR_CYCLE = 0x0020
, COMP_ACT_SUPP_PEND_IMAGE = 0x0040
, COMP_ACT_SUPP_PEND_COMP_IMG_SET = 0x0080
} |
|
enum | fd_update_interface { COMP_UPDATE_VIA_UNKNOWN
, COMP_UPDATE_VIA_I2C
, COMP_UPDATE_VIA_SPI
, COMP_UPDATE_VIA_JTAG
} |
|
enum | pldm_self_contained_activation_req { PLDM_NOT_ACTIVATE_SELF_CONTAINED_COMPONENTS = false
, PLDM_ACTIVATE_SELF_CONTAINED_COMPONENTS = true
} |
|
|
struct pldm_request_update_req | __attribute__ ((packed)) |
|
uint8_t | pldm_fw_update_handler_query (uint8_t code, void **ret_fn) |
|
uint16_t | pldm_fw_update_read (void *mctp_p, enum pldm_firmware_update_commands cmd, uint8_t *req, uint16_t req_len, uint8_t *rbuf, uint16_t rbuf_len, void *ext_params) |
|
uint8_t | pldm_bic_update (void *fw_update_param) |
|
uint8_t | pldm_vr_update (void *fw_update_param) |
|
uint8_t | pldm_cpld_update (void *fw_update_param) |
|
uint8_t | pldm_retimer_update (void *fw_update_param) |
|
uint8_t | pldm_retimer_recovery (void *fw_update_param) |
|
uint8_t | fw_recovery_eeprom (I2C_MSG *msg, uint32_t offset, uint16_t msg_len, uint8_t *msg_buf, uint8_t flag) |
|
uint8_t | pldm_bic_activate (void *arg) |
|
uint8_t | plat_pldm_query_device_identifiers (const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len) |
|
uint8_t | plat_pldm_query_downstream_devices (const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len) |
|
uint8_t | plat_pldm_query_downstream_identifiers (const uint8_t *buf, uint16_t len, uint8_t *resp, uint16_t *resp_len) |
|
int | get_descriptor_type_length (uint16_t type) |
|
int | get_device_single_descriptor_length (struct pldm_descriptor_string data) |
|
int | get_device_descriptor_total_length (struct pldm_descriptor_string *table, uint8_t table_count) |
|
uint8_t | fill_descriptor_into_buf (struct pldm_descriptor_string *descriptor, uint8_t *buf, uint8_t *fill_length, uint16_t current_length) |
|