OpenBIC
OpenSource Bridge-IC
plat_dimm.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <zephyr.h>
#include <logging/log.h>
#include <errno.h>
#include "sensor.h"
#include "power_status.h"
#include "plat_dimm.h"
#include "plat_i2c.h"
#include "plat_i3c.h"
Include dependency graph for plat_dimm.c:

Functions

 LOG_MODULE_REGISTER (plat_dimm)
 
 K_THREAD_STACK_DEFINE (get_dimm_info_stack, GET_DIMM_INFO_STACK_SIZE)
 
void start_get_dimm_info_thread ()
 
void get_dimm_info_handler ()
 
uint8_t sensor_num_map_dimm_id (uint8_t sensor_num)
 
void get_spd_temp_raw_data (int dimm_index, uint8_t *data)
 
int pal_get_spd_temp (uint8_t sensor_num, uint8_t *data)
 
void get_pmic_power_raw_data (int dimm_index, uint8_t *data)
 
int pal_get_pmic_pwr (uint8_t sensor_num, uint8_t *data)
 
void clear_unaccessible_dimm_data (uint8_t dimm_id)
 
int switch_i3c_dimm_mux (uint8_t i3c_ctrl_mux_data)
 
int check_i3c_dimm_mux (uint8_t *status_data)
 
int all_brocast_ccc (I3C_MSG *i3c_msg)
 
int init_dimm_prsnt_status ()
 
uint8_t get_dimm_present (uint8_t dimm_id)
 

Variables

struct k_thread get_dimm_info_thread
 
struct k_mutex i3c_dimm_mutex
 
k_tid_t get_dimm_info_tid
 
dimm_info dimm_data [DIMM_ID_MAX]
 
bool is_dimm_checked_presnt = false
 
bool is_cpld_support_i3c_mux_check = false
 
uint8_t spd_i3c_addr_list []
 
uint8_t pmic_i3c_addr_list []
 

Function Documentation

◆ all_brocast_ccc()

int all_brocast_ccc ( I3C_MSG i3c_msg)
Here is the call graph for this function:

◆ check_i3c_dimm_mux()

int check_i3c_dimm_mux ( uint8_t *  status_data)
Here is the call graph for this function:

◆ clear_unaccessible_dimm_data()

void clear_unaccessible_dimm_data ( uint8_t  dimm_id)

◆ get_dimm_info_handler()

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

◆ get_dimm_present()

uint8_t get_dimm_present ( uint8_t  dimm_id)

◆ get_pmic_power_raw_data()

void get_pmic_power_raw_data ( int  dimm_index,
uint8_t *  data 
)

◆ get_spd_temp_raw_data()

void get_spd_temp_raw_data ( int  dimm_index,
uint8_t *  data 
)

◆ init_dimm_prsnt_status()

int init_dimm_prsnt_status ( )
Here is the call graph for this function:

◆ K_THREAD_STACK_DEFINE()

K_THREAD_STACK_DEFINE ( get_dimm_info_stack  ,
GET_DIMM_INFO_STACK_SIZE   
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_dimm  )

◆ pal_get_pmic_pwr()

int pal_get_pmic_pwr ( uint8_t  sensor_num,
uint8_t *  data 
)
Here is the call graph for this function:

◆ pal_get_spd_temp()

int pal_get_spd_temp ( uint8_t  sensor_num,
uint8_t *  data 
)
Here is the call graph for this function:

◆ sensor_num_map_dimm_id()

uint8_t sensor_num_map_dimm_id ( uint8_t  sensor_num)

◆ start_get_dimm_info_thread()

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

◆ switch_i3c_dimm_mux()

int switch_i3c_dimm_mux ( uint8_t  i3c_ctrl_mux_data)
Here is the call graph for this function:

Variable Documentation

◆ dimm_data

dimm_info dimm_data[DIMM_ID_MAX]

◆ get_dimm_info_thread

struct k_thread get_dimm_info_thread

◆ get_dimm_info_tid

k_tid_t get_dimm_info_tid

◆ i3c_dimm_mutex

struct k_mutex i3c_dimm_mutex

◆ is_cpld_support_i3c_mux_check

bool is_cpld_support_i3c_mux_check = false

◆ is_dimm_checked_presnt

bool is_dimm_checked_presnt = false

◆ pmic_i3c_addr_list

uint8_t pmic_i3c_addr_list[]
Initial value:
#define DIMM_PMIC_F_L_ADDR
Definition: plat_dimm.h:34
#define DIMM_PMIC_A_G_ADDR
Definition: plat_dimm.h:29
#define DIMM_PMIC_E_K_ADDR
Definition: plat_dimm.h:33
#define DIMM_PMIC_D_J_ADDR
Definition: plat_dimm.h:32
#define DIMM_PMIC_B_H_ADDR
Definition: plat_dimm.h:30
#define DIMM_PMIC_C_I_ADDR
Definition: plat_dimm.h:31

◆ spd_i3c_addr_list

uint8_t spd_i3c_addr_list[]
Initial value:
#define DIMM_SPD_B_H_ADDR
Definition: plat_dimm.h:23
#define DIMM_SPD_F_L_ADDR
Definition: plat_dimm.h:27
#define DIMM_SPD_C_I_ADDR
Definition: plat_dimm.h:24
#define DIMM_SPD_D_J_ADDR
Definition: plat_dimm.h:25
#define DIMM_SPD_E_K_ADDR
Definition: plat_dimm.h:26
#define DIMM_SPD_A_G_ADDR
Definition: plat_dimm.h:22