OpenBIC
OpenSource Bridge-IC
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
plat_mctp.c File Reference
#include "plat_mctp.h"
#include <zephyr.h>
#include <sys/printk.h>
#include <logging/log.h>
#include <logging/log_ctrl.h>
#include <stdlib.h>
#include <stdio.h>
#include "mctp.h"
#include "mctp_ctrl.h"
#include "pldm.h"
#include "ipmi.h"
#include "sensor.h"
#include "cci.h"
#include "plat_ipmb.h"
#include "plat_power_seq.h"
#include "plat_pldm_sensor.h"
#include "hal_i2c.h"
Include dependency graph for plat_mctp.c:

Functions

 LOG_MODULE_REGISTER (plat_mctp)
 
 K_THREAD_STACK_DEFINE (set_dev_endpoint_stack, SET_DEV_ENDPOINT_STACK_SIZE)
 
mctpfind_mctp_by_bus (uint8_t bus)
 
uint8_t get_mctp_info (uint8_t dest_endpoint, mctp **mctp_inst, mctp_ext_params *ext_params)
 
void set_dev_endpoint_thread (void *arg1, void *arg2, void *arg3)
 
void create_set_dev_endpoint_thread ()
 
int pal_get_medium_type (uint8_t interface)
 
mctppal_get_mctp (uint8_t mctp_medium_type, uint8_t bus)
 
void plat_mctp_init (void)
 
uint8_t plat_get_mctp_port_count ()
 
mctp_portplat_get_mctp_port (uint8_t index)
 
void plat_update_mctp_routing_table (uint8_t eid)
 
int load_mctp_support_types (uint8_t *type_len, uint8_t *types)
 
uint8_t plat_get_eid ()
 
uint8_t plat_get_cxl_eid (uint8_t cxl_id)
 
int pal_get_cci_timeout_ms ()
 
bool pal_is_need_mctp_interval (mctp *mctp_inst)
 
int pal_get_mctp_interval_ms (mctp *mctp_inst)
 

Variables

uint8_t plat_eid = MCTP_DEFAULT_ENDPOINT
 
struct k_thread set_dev_endpoint_thread_data
 
mctp_route_entry plat_mctp_route_tbl []
 
uint8_t MCTP_SUPPORTED_MESSAGES_TYPES []
 

Function Documentation

◆ create_set_dev_endpoint_thread()

void create_set_dev_endpoint_thread ( )

◆ find_mctp_by_bus()

mctp * find_mctp_by_bus ( uint8_t  bus)

◆ get_mctp_info()

uint8_t get_mctp_info ( uint8_t  dest_endpoint,
mctp **  mctp_inst,
mctp_ext_params ext_params 
)
Here is the call graph for this function:

◆ K_THREAD_STACK_DEFINE()

K_THREAD_STACK_DEFINE ( set_dev_endpoint_stack  ,
SET_DEV_ENDPOINT_STACK_SIZE   
)

◆ load_mctp_support_types()

int load_mctp_support_types ( uint8_t *  type_len,
uint8_t *  types 
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_mctp  )

◆ pal_get_cci_timeout_ms()

int pal_get_cci_timeout_ms ( )

◆ pal_get_mctp()

mctp * pal_get_mctp ( uint8_t  mctp_medium_type,
uint8_t  bus 
)
Here is the call graph for this function:

◆ pal_get_mctp_interval_ms()

int pal_get_mctp_interval_ms ( mctp mctp_inst)

◆ pal_get_medium_type()

int pal_get_medium_type ( uint8_t  interface)

◆ pal_is_need_mctp_interval()

bool pal_is_need_mctp_interval ( mctp mctp_inst)

◆ plat_get_cxl_eid()

uint8_t plat_get_cxl_eid ( uint8_t  cxl_id)

◆ plat_get_eid()

uint8_t plat_get_eid ( )

◆ plat_get_mctp_port()

mctp_port * plat_get_mctp_port ( uint8_t  index)

◆ plat_get_mctp_port_count()

uint8_t plat_get_mctp_port_count ( )

◆ plat_mctp_init()

void plat_mctp_init ( void  )

BIC will not initialize mctp instance if CXL is not present

init mctp for bmc bus

Here is the call graph for this function:

◆ plat_update_mctp_routing_table()

void plat_update_mctp_routing_table ( uint8_t  eid)
Here is the call graph for this function:

◆ set_dev_endpoint_thread()

void set_dev_endpoint_thread ( void *  arg1,
void *  arg2,
void *  arg3 
)

Variable Documentation

◆ MCTP_SUPPORTED_MESSAGES_TYPES

uint8_t MCTP_SUPPORTED_MESSAGES_TYPES[]
Initial value:
= {
}
@ TYPE_PLDM
Definition: mctp_ctrl.h:89
@ TYPE_MCTP_CONTROL
Definition: mctp_ctrl.h:88

◆ plat_eid

uint8_t plat_eid = MCTP_DEFAULT_ENDPOINT

◆ plat_mctp_route_tbl

mctp_route_entry plat_mctp_route_tbl[]
Initial value:
= {
{ MCTP_EID_BMC, I3C_BUS_SD_BIC, I3C_ADDR_SD_BIC, .set_endpoint = false },
{ MCTP_EID_SD_BIC, I3C_BUS_SD_BIC, I3C_ADDR_SD_BIC, .set_endpoint = false },
{ MCTP_EID_CXL1, I2C_BUS_CXL1, I2C_ADDR_CXL1, .set_endpoint = true },
{ MCTP_EID_CXL2, I2C_BUS_CXL2, I2C_ADDR_CXL2, .set_endpoint = true },
}
#define MCTP_EID_BMC
Definition: plat_mctp.c:58
#define I2C_ADDR_CXL1
Definition: plat_mctp.h:29
#define I3C_BUS_SD_BIC
Definition: plat_mctp.c:43
#define I3C_ADDR_SD_BIC
Definition: plat_mctp.c:37
#define MCTP_EID_SD_BIC
Definition: plat_mctp.h:35
#define MCTP_EID_CXL1
Definition: plat_mctp.h:36
#define I2C_BUS_CXL1
Definition: plat_mctp.h:14
#define I2C_BUS_CXL2
Definition: plat_mctp.h:15
#define I2C_ADDR_CXL2
Definition: plat_mctp.h:21
#define MCTP_EID_CXL2
Definition: plat_mctp.h:37

◆ set_dev_endpoint_thread_data

struct k_thread set_dev_endpoint_thread_data