OpenBIC
OpenSource Bridge-IC
cci.h File Reference
#include "mctp.h"
Include dependency graph for cci.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _cci_handler_query_entry
 
struct  _cci_recv_resp_arg
 
struct  mctp_cci_msg
 
struct  _mctp_cci_cmd_handler
 
struct  _wait_msg
 
struct  _cci_fw_info_resp
 
struct  _cci_transfer_fw_req
 
struct  _cci_activate_fw_req
 

Macros

#define HEALTH_INFO_REQ_PL_LEN   0 /*Size Bytes*/
 
#define GET_FW_INFO_REQ_PL_LEN   0
 
#define TRANSFER_FW_REQ_PL_LEN   256
 
#define ACTIVATE_FW_REQ_PL_LEN   2
 
#define HEALTH_INFO_RESP_PL_LEN   18 /*Size Bytes*/
 
#define GET_FW_INFO_RESP_PL_LEN   80
 
#define TRANSFER_FW_RESP_PL_LEN   0
 
#define ACTIVATE_FW_RESP_PL_LEN   0
 
#define GET_FW_INFO_RESV_LEN   13
 
#define GET_FW_INFO_REVISION_LEN   16
 
#define TRANSFER_FW_RESV_LEN   120
 
#define TRANSFER_FW_DATA_LEN   128
 
#define DEV_TEMP_OFFSET   16
 
#define CCI_CC_INVALID_INPUT   0x0002
 
#define CCI_CC_SUCCESS   0x0000
 
#define CCI_CC_INVALID_INPUT   0x0002
 
#define CCI_CC_PAYLOAD_INVALID_LEN   0x0016
 
#define CCI_SUCCESS   0x0000
 
#define CCI_ERROR   0x0001
 
#define CCI_INVALID_TYPE   0x0002
 

Typedefs

typedef struct _cci_recv_resp_arg cci_recv_resp_arg
 
typedef uint8_t(* mctp_cci_cmd_fn) (void *, uint8_t *, uint16_t, uint8_t *, uint16_t *, void *)
 
typedef uint8_t(* cci_cmd_proc_fn) (void *, uint8_t *, uint16_t, uint8_t *, uint16_t *, void *)
 
typedef struct _mctp_cci_cmd_handler mctp_cci_cmd_handler_t
 
typedef struct _wait_msg wait_msg
 
typedef struct _cci_fw_info_resp cci_fw_info_resp
 
typedef struct _cci_transfer_fw_req cci_transfer_fw_req
 
typedef struct _cci_activate_fw_req cci_activate_fw_req
 

Enumerations

enum  CCI_CMD { CCI_GET_HEALTH_INFO = 0x4200 , CCI_GET_FW_INFO = 0x0200 , CCI_TRANSFER_FW = 0x0201 , CCI_ACTIVATE_FW = 0x0202 }
 
enum  ACTIVE_FW_SLOT { SLOT1_FW_ACTIVE = 0x01 , SLOT2_FW_ACTIVE , SLOT3_FW_ACTIVE , SLOT4_FW_ACTIVE }
 
enum  TRANSFER_FW_OPTION {
  FULL_FW_TRANSFER , INITIATE_FW_TRANSFER , CONTINUE_FW_TRANSFER , END_TRANSFER ,
  ABORT_TRANSFER
}
 
enum  ACTIVATE_FW_OPTION { ONLINE_ACTIVE_FW , NEXT_COLD_RESET_ACTIVE_FW }
 

Functions

struct __attribute__ ((packed))
 
uint8_t mctp_cci_cmd_handler (void *mctp_p, uint8_t *buf, uint32_t len, mctp_ext_params ext_params)
 
void cci_read_resp_handler (void *args, uint8_t *rbuf, uint16_t rlen, uint16_t ret_code)
 
bool cci_get_chip_temp (void *mctp_p, mctp_ext_params ext_params, int16_t *chip_temp)
 
bool cci_get_chip_fw_version (void *mctp_p, mctp_ext_params ext_params, uint8_t *fw_version, uint8_t *return_len)
 
int pal_get_cci_internal_ms ()
 
int pal_get_cci_timeout_ms ()
 
uint8_t mctp_cci_send_msg (void *mctp_p, mctp_cci_msg *msg)
 
uint16_t mctp_cci_read (void *mctp_p, mctp_cci_msg *msg, uint8_t *rbuf, uint16_t rbuf_len)
 
struct __attribute__ ((__packed__))
 

Variables

 mctp_cci_hdr
 
 cci_health_info_resp
 

Macro Definition Documentation

◆ ACTIVATE_FW_REQ_PL_LEN

#define ACTIVATE_FW_REQ_PL_LEN   2

◆ ACTIVATE_FW_RESP_PL_LEN

#define ACTIVATE_FW_RESP_PL_LEN   0

◆ CCI_CC_INVALID_INPUT [1/2]

#define CCI_CC_INVALID_INPUT   0x0002

◆ CCI_CC_INVALID_INPUT [2/2]

#define CCI_CC_INVALID_INPUT   0x0002

◆ CCI_CC_PAYLOAD_INVALID_LEN

#define CCI_CC_PAYLOAD_INVALID_LEN   0x0016

◆ CCI_CC_SUCCESS

#define CCI_CC_SUCCESS   0x0000

◆ CCI_ERROR

#define CCI_ERROR   0x0001

◆ CCI_INVALID_TYPE

#define CCI_INVALID_TYPE   0x0002

◆ CCI_SUCCESS

#define CCI_SUCCESS   0x0000

◆ DEV_TEMP_OFFSET

#define DEV_TEMP_OFFSET   16

◆ GET_FW_INFO_REQ_PL_LEN

#define GET_FW_INFO_REQ_PL_LEN   0

◆ GET_FW_INFO_RESP_PL_LEN

#define GET_FW_INFO_RESP_PL_LEN   80

◆ GET_FW_INFO_RESV_LEN

#define GET_FW_INFO_RESV_LEN   13

◆ GET_FW_INFO_REVISION_LEN

#define GET_FW_INFO_REVISION_LEN   16

◆ HEALTH_INFO_REQ_PL_LEN

#define HEALTH_INFO_REQ_PL_LEN   0 /*Size Bytes*/

◆ HEALTH_INFO_RESP_PL_LEN

#define HEALTH_INFO_RESP_PL_LEN   18 /*Size Bytes*/

◆ TRANSFER_FW_DATA_LEN

#define TRANSFER_FW_DATA_LEN   128

◆ TRANSFER_FW_REQ_PL_LEN

#define TRANSFER_FW_REQ_PL_LEN   256

◆ TRANSFER_FW_RESP_PL_LEN

#define TRANSFER_FW_RESP_PL_LEN   0

◆ TRANSFER_FW_RESV_LEN

#define TRANSFER_FW_RESV_LEN   120

Typedef Documentation

◆ cci_activate_fw_req

◆ cci_cmd_proc_fn

typedef uint8_t(* cci_cmd_proc_fn) (void *, uint8_t *, uint16_t, uint8_t *, uint16_t *, void *)

◆ cci_fw_info_resp

◆ cci_recv_resp_arg

◆ cci_transfer_fw_req

◆ mctp_cci_cmd_fn

typedef uint8_t(* mctp_cci_cmd_fn) (void *, uint8_t *, uint16_t, uint8_t *, uint16_t *, void *)

◆ mctp_cci_cmd_handler_t

◆ wait_msg

typedef struct _wait_msg wait_msg

Enumeration Type Documentation

◆ ACTIVATE_FW_OPTION

Enumerator
ONLINE_ACTIVE_FW 
NEXT_COLD_RESET_ACTIVE_FW 

◆ ACTIVE_FW_SLOT

Enumerator
SLOT1_FW_ACTIVE 
SLOT2_FW_ACTIVE 
SLOT3_FW_ACTIVE 
SLOT4_FW_ACTIVE 

◆ CCI_CMD

enum CCI_CMD
Enumerator
CCI_GET_HEALTH_INFO 
CCI_GET_FW_INFO 
CCI_TRANSFER_FW 
CCI_ACTIVATE_FW 

◆ TRANSFER_FW_OPTION

Enumerator
FULL_FW_TRANSFER 
INITIATE_FW_TRANSFER 
CONTINUE_FW_TRANSFER 
END_TRANSFER 
ABORT_TRANSFER 

Function Documentation

◆ __attribute__() [1/2]

struct __attribute__ ( (__packed__)  )

◆ __attribute__() [2/2]

struct __attribute__ ( (packed)  )

◆ cci_get_chip_fw_version()

bool cci_get_chip_fw_version ( void *  mctp_p,
mctp_ext_params  ext_params,
uint8_t *  fw_version,
uint8_t *  return_len 
)

◆ cci_get_chip_temp()

bool cci_get_chip_temp ( void *  mctp_p,
mctp_ext_params  ext_params,
int16_t *  chip_temp 
)

◆ cci_read_resp_handler()

void cci_read_resp_handler ( void *  args,
uint8_t *  rbuf,
uint16_t  rlen,
uint16_t  ret_code 
)

◆ mctp_cci_cmd_handler()

uint8_t mctp_cci_cmd_handler ( void *  mctp_p,
uint8_t *  buf,
uint32_t  len,
mctp_ext_params  ext_params 
)

◆ mctp_cci_read()

uint16_t mctp_cci_read ( void *  mctp_p,
mctp_cci_msg msg,
uint8_t *  rbuf,
uint16_t  rbuf_len 
)

◆ mctp_cci_send_msg()

uint8_t mctp_cci_send_msg ( void *  mctp_p,
mctp_cci_msg msg 
)

◆ pal_get_cci_internal_ms()

int pal_get_cci_internal_ms ( )

◆ pal_get_cci_timeout_ms()

int pal_get_cci_timeout_ms ( )

Variable Documentation

◆ cci_health_info_resp

cci_health_info_resp

◆ mctp_cci_hdr

mctp_cci_hdr