OpenBIC
OpenSource Bridge-IC
plat_mctp.c File Reference
#include <zephyr.h>
#include <sys/printk.h>
#include <logging/log.h>
#include <logging/log_ctrl.h>
#include <stdlib.h>
#include "mctp.h"
#include "mctp_ctrl.h"
#include "pldm.h"
#include "ipmi.h"
#include "sensor.h"
#include "plat_i2c.h"
#include "plat_hook.h"
#include "plat_mctp.h"
#include "plat_gpio.h"
#include "hal_i3c.h"
#include "plat_class.h"
Include dependency graph for plat_mctp.c:

Functions

 LOG_MODULE_REGISTER (plat_mctp)
 
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 plat_mctp_init (void)
 
int load_mctp_support_types (uint8_t *type_len, uint8_t *types)
 
uint8_t plat_get_mctp_port_count ()
 
mctp_portplat_get_mctp_port (uint8_t index)
 
void plat_i3c_set_pid (void)
 
uint8_t plat_get_eid ()
 
void plat_set_eid (uint8_t slot_eid)
 
void plat_update_mctp_routing_table (uint8_t eid)
 

Variables

uint8_t plat_eid = MCTP_DEFAULT_ENDPOINT
 
mctp_port plat_mctp_port []
 
mctp_route_entry mctp_route_tbl []
 
uint8_t MCTP_SUPPORTED_MESSAGES_TYPES []
 

Function Documentation

◆ 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:

◆ load_mctp_support_types()

int load_mctp_support_types ( uint8_t *  type_len,
uint8_t *  types 
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_mctp  )

◆ 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_i3c_set_pid()

void plat_i3c_set_pid ( void  )
Here is the call graph for this function:

◆ plat_mctp_init()

void plat_mctp_init ( void  )

BIC will not initialize mctp instance if CXL is not present

init mctp for bmc bus

◆ plat_set_eid()

void plat_set_eid ( uint8_t  slot_eid)

◆ plat_update_mctp_routing_table()

void plat_update_mctp_routing_table ( uint8_t  eid)

Variable Documentation

◆ mctp_route_tbl

mctp_route_entry mctp_route_tbl[]
Initial value:
= {
}
#define I2C_BUS_BMC
Definition: plat_mctp.c:49
#define I2C_ADDR_BMC
Definition: plat_mctp.c:45
#define MCTP_EID_BMC
Definition: plat_mctp.c:59

◆ 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_port

mctp_port plat_mctp_port[]
Initial value:
= {
{ .channel_target = PLDM,
.conf.i3c_conf.bus = I3C_BUS_BMC,
.conf.i3c_conf.addr = I2C_ADDR_BMC },
}
#define I3C_BUS_BMC
Definition: plat_mctp.h:31
@ PLDM
Definition: ipmb.h:117
@ MCTP_MEDIUM_TYPE_TARGET_I3C
Definition: mctp.h:87