OpenBIC
OpenSource Bridge-IC
plat_isr.c File Reference
#include <string.h>
#include <logging/log.h>
#include "libutil.h"
#include "plat_i2c.h"
#include "plat_fru.h"
#include "plat_isr.h"
#include "plat_dev.h"
#include "plat_gpio.h"
#include "power_status.h"
#include "ioexp_tca9555.h"
#include "common_i2c_mux.h"
#include "plat_sensor_table.h"
#include "plat_mctp.h"
#include "plat_class.h"
#include "hal_gpio.h"
#include "util_worker.h"
#include "plat_sys.h"
#include "libipmi.h"
#include "ipmi.h"
#include "plat_ipmi.h"
#include "plat_pldm_monitor.h"
#include "pldm_state_set.h"
Include dependency graph for plat_isr.c:

Macros

#define SET_RESET_SMB4_MUX_DELAY_MS   10
 
#define SSD_POWER_GOOD_TIMEOUT_DELAY_MS   5000
 

Functions

 LOG_MODULE_REGISTER (plat_isr)
 
void cxl_set_eid_work_handler (struct k_work *work_item)
 
void add_sel_log_to_bmc_handler (struct k_work *work_item)
 
void init_cxl_work ()
 
int set_cxl_device_reset_pin (uint8_t val, bool is_mutex)
 
int check_cxl_power_status (bool is_mutex)
 
int cxl_pe_reset_control (uint8_t cxl_card_id)
 
bool check_ioexp_status (uint8_t cxl_card_id)
 
void cxl_ioexp_alert_handler (struct k_work *work_item)
 
void check_ssd_power_good_timeout ()
 
 K_WORK_DELAYABLE_DEFINE (set_reset_smb4_mux_pin_work, set_reset_smb4_mux_pin)
 
 K_WORK_DELAYABLE_DEFINE (check_ssd_power_good_timeout_work, check_ssd_power_good_timeout)
 
void ISR_NORMAL_PWRGD ()
 
void ISR_CXL_IOEXP_ALERT0 ()
 
void ISR_CXL_IOEXP_ALERT1 ()
 
void ISR_CXL_IOEXP_ALERT2 ()
 
void ISR_CXL_IOEXP_ALERT3 ()
 
void ISR_CXL_IOEXP_ALERT4 ()
 
void ISR_CXL_IOEXP_ALERT5 ()
 
void ISR_CXL_IOEXP_ALERT6 ()
 
void ISR_CXL_IOEXP_ALERT7 ()
 

Variables

bool is_interrupt_ongoing = false
 
cxl_work_info cxl_work_item []
 

Macro Definition Documentation

◆ SET_RESET_SMB4_MUX_DELAY_MS

#define SET_RESET_SMB4_MUX_DELAY_MS   10

◆ SSD_POWER_GOOD_TIMEOUT_DELAY_MS

#define SSD_POWER_GOOD_TIMEOUT_DELAY_MS   5000

Function Documentation

◆ add_sel_log_to_bmc_handler()

void add_sel_log_to_bmc_handler ( struct k_work *  work_item)
Here is the call graph for this function:

◆ check_cxl_power_status()

int check_cxl_power_status ( bool  is_mutex)

Read cxl U17 ioexp input port0 status

Read cxl U17 ioexp input port1 status

Check CXL controller power good

Here is the call graph for this function:

◆ check_ioexp_status()

bool check_ioexp_status ( uint8_t  cxl_card_id)

Check CXL controller power good

Here is the call graph for this function:

◆ check_ssd_power_good_timeout()

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

◆ cxl_ioexp_alert_handler()

void cxl_ioexp_alert_handler ( struct k_work *  work_item)

MEB mux for cxl channels

CXL mux for sensor channels

Enable mux channel

Check io expander

Initial ioexp U14

◆ cxl_pe_reset_control()

int cxl_pe_reset_control ( uint8_t  cxl_card_id)

Read cxl U15 ioexp input port0 status

Read cxl U15 ioexp input port1 status

Read cxl U15 ioexp output port status

Set asic pe-reset status to MB reset status

Here is the call graph for this function:

◆ cxl_set_eid_work_handler()

void cxl_set_eid_work_handler ( struct k_work *  work_item)

MEB mux for cxl channels

CXL mux for sensor channels

Mutex lock bus

Enable mux channel

Set endpoint id

mutex unlock bus

Here is the call graph for this function:

◆ init_cxl_work()

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

◆ ISR_CXL_IOEXP_ALERT0()

void ISR_CXL_IOEXP_ALERT0 ( )

◆ ISR_CXL_IOEXP_ALERT1()

void ISR_CXL_IOEXP_ALERT1 ( )

◆ ISR_CXL_IOEXP_ALERT2()

void ISR_CXL_IOEXP_ALERT2 ( )

◆ ISR_CXL_IOEXP_ALERT3()

void ISR_CXL_IOEXP_ALERT3 ( )

◆ ISR_CXL_IOEXP_ALERT4()

void ISR_CXL_IOEXP_ALERT4 ( )

◆ ISR_CXL_IOEXP_ALERT5()

void ISR_CXL_IOEXP_ALERT5 ( )

◆ ISR_CXL_IOEXP_ALERT6()

void ISR_CXL_IOEXP_ALERT6 ( )

◆ ISR_CXL_IOEXP_ALERT7()

void ISR_CXL_IOEXP_ALERT7 ( )

◆ ISR_NORMAL_PWRGD()

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

◆ K_WORK_DELAYABLE_DEFINE() [1/2]

K_WORK_DELAYABLE_DEFINE ( check_ssd_power_good_timeout_work  ,
check_ssd_power_good_timeout   
)

◆ K_WORK_DELAYABLE_DEFINE() [2/2]

K_WORK_DELAYABLE_DEFINE ( set_reset_smb4_mux_pin_work  ,
set_reset_smb4_mux_pin   
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_isr  )

◆ set_cxl_device_reset_pin()

int set_cxl_device_reset_pin ( uint8_t  val,
bool  is_mutex 
)

Read cxl U15 ioexp output port status

Here is the call graph for this function:

Variable Documentation

◆ cxl_work_item

cxl_work_info cxl_work_item[]

◆ is_interrupt_ongoing

bool is_interrupt_ongoing = false