25#define pm8702_I2C_OFFSET_READ 0xc401
26#define PM8702_HBO_STATUS 0xCD00
27#define PM8702_HBO_TRANSFER_FW 0xCD01
28#define PM8702_HBO_ACTIVATE_FW 0xCD02
29#define PM8702_READ_DIMM_TEMP 0xC531
32#define I2C_OFFSET_READ_REQ_PL_LEN 20
33#define HBO_STATUS_REQ_PL_LEN 0
34#define HBO_TRANSFER_FW_REQ_PL_LEN 256
35#define HBO_ACTIVATE_FW_REQ_PL_LEN 2
36#define READ_DIMM_TEMP_REQ_PL_LEN 0
39#define DIMM_TEMP_READ_RESP_PL_LEN 2
40#define DIMM_TEMP_RESP_PL_LEN 84
43#define ADDR_SIZE_7_BIT 0x00
44#define ADDR_SIZE_10_BIT 0x01
46#define OFFSET_SIZE_8_BIT 0x01
47#define OFFSET_SIZE_16_BIT 0x02
49#define I2C_READ_TIMEOUT_MS 1000
50#define DIMM_TEMP_REG_OFFSET 0x0005
53#define DIMM_ERROR_VALUE 0x80
62 uint32_t timeout_offset;
67typedef struct _pm8702_hbo_status_resp {
69 uint8_t percent_complete : 7;
73 uint16_t vendor_status;
74} pm8702_hbo_status_resp;
76typedef struct _pm8702_command_info {
85 uint8_t temp_sensor_id;
101typedef enum _pm8702_access {
104 dimm_temp_from_pioneer,
107bool pm8702_get_dimm_temp(
void *mctp_p,
mctp_ext_params ext_params, uint16_t address,
108 int16_t *interger, int16_t *fraction);
109bool pm8702_cmd_handler(
void *mctp_inst,
mctp_ext_params ext_params, uint16_t opcode,
110 uint8_t *data_buf,
int data_len, uint8_t *response, uint8_t *response_len);
111bool pm8702_read_dimm_temp_from_pioneer(
void *mctp_p,
mctp_ext_params ext_params,
int dimm_id,
112 int16_t *temp_int, int16_t *temp_dec);
uint16_t data_len
Definition: ipmb.h:14
uint32_t reserved
Definition: plat_ncsi.h:4
uint32_t offset
Definition: pldm_firmware_update.h:0
Definition: pldm_smbios.h:61