OpenBIC
OpenSource Bridge-IC
plat_isr.h File Reference
#include <kernel.h>
#include "ioexp_tca9555.h"
#include "plat_i2c.h"
Include dependency graph for plat_isr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  IOE_CFG
 
struct  _add_vr_sel_info
 
struct  vr_fault_info
 

Macros

#define ADDR_IOE1   (0x40 >> 1)
 
#define ADDR_IOE2   (0x42 >> 1)
 
#define ADDR_IOE3   (0x44 >> 1)
 
#define ADDR_IOE4   (0x46 >> 1)
 
#define CLK_BUFFER_ADDR   0x6B
 
#define CLK_BUFFER_BUS   I2C_BUS6
 
#define PLL_OPERATING_OFFSET   0x00
 
#define E1S_PRESENT_BIT   BIT(2)
 
#define ASIC_CLK_BIT   BIT(4)
 
#define E1S_CLK_BIT   BIT(5)
 
#define E1S_PE_RESET_BIT   BIT(6)
 
#define CXL_LED_BIT   BIT(2)
 
#define IOE_SWITCH_MUX_TO_BIC   0x05
 
#define IOE_SWITCH_CXL1_VR_TO_BIC   0x01
 
#define IOE_SWITCH_CXL2_VR_TO_BIC   0x04
 
#define IOE_READY_MSEC   1000
 
#define SET_CLK_BUF_DELAY_MS   100
 
#define VR_EVENT_DELAY_MS   10
 
#define PMBUS_DRMOS_FAULT   0x80
 

Typedefs

typedef struct _add_vr_sel_info add_vr_sel_info
 

Enumerations

enum  set_ioe4_cmd { SET_CLK = 0 , SET_PE_RST }
 
enum  vr_event_index_t {
  PMBUS_VR_IOE1_INT = 0 , NON_PMBUS_VR_PVTT_AB_ASIC1 , NON_PMBUS_VR_PVTT_AB_ASIC2 , NON_PMBUS_VR_PVTT_CD_ASIC1 ,
  NON_PMBUS_VR_PVTT_CD_ASIC2 , NON_PMBUS_VR_PVPP_AB_ASIC1 , NON_PMBUS_VR_PVPP_AB_ASIC2 , NON_PMBUS_VR_PVPP_CD_ASIC1 ,
  NON_PMBUS_VR_PVPP_CD_ASIC2 , NON_PMBUS_VR_P12V_E1S_0_R , NON_PMBUS_VR_P3V3_E1S_0_R
}
 

Functions

void ISR_MB_DC_STAGUS_CHAGNE ()
 
void ISR_MB_PCIE_RST ()
 
void ISR_P3V3_E1S_PWR_CHANGE ()
 
void ISR_P12V_E1S_PWR_CHANGE ()
 
void ISR_CXL_PG_ON ()
 
void ISR_PVTT_CD_ASIC1_PWR_CHANGE ()
 
void ISR_PVTT_CD_ASIC2_PWR_CHANGE ()
 
void ISR_IOE1_INT ()
 
void ISR_PVTT_AB_ASIC1_VR_FAULT ()
 
void ISR_PVTT_AB_ASIC2_VR_FAULT ()
 
void ISR_PVPP_AB_ASIC1_VR_FAULT ()
 
void ISR_PVPP_AB_ASIC2_VR_FAULT ()
 
void ISR_PVPP_CD_ASIC1_VR_FAULT ()
 
void ISR_PVPP_CD_ASIC2_VR_FAULT ()
 
void init_vr_event_work ()
 
void process_pmbus_vr_event_handler (struct k_work *work_item)
 
void process_non_pmbus_vr_event_handler (struct k_work *work_item)
 

Variables

bool is_cxl_power_on_success
 
add_vr_sel_info vr_event_work_items []
 

Macro Definition Documentation

◆ ADDR_IOE1

#define ADDR_IOE1   (0x40 >> 1)

◆ ADDR_IOE2

#define ADDR_IOE2   (0x42 >> 1)

◆ ADDR_IOE3

#define ADDR_IOE3   (0x44 >> 1)

◆ ADDR_IOE4

#define ADDR_IOE4   (0x46 >> 1)

◆ ASIC_CLK_BIT

#define ASIC_CLK_BIT   BIT(4)

◆ CLK_BUFFER_ADDR

#define CLK_BUFFER_ADDR   0x6B

◆ CLK_BUFFER_BUS

#define CLK_BUFFER_BUS   I2C_BUS6

◆ CXL_LED_BIT

#define CXL_LED_BIT   BIT(2)

◆ E1S_CLK_BIT

#define E1S_CLK_BIT   BIT(5)

◆ E1S_PE_RESET_BIT

#define E1S_PE_RESET_BIT   BIT(6)

◆ E1S_PRESENT_BIT

#define E1S_PRESENT_BIT   BIT(2)

◆ IOE_READY_MSEC

#define IOE_READY_MSEC   1000

◆ IOE_SWITCH_CXL1_VR_TO_BIC

#define IOE_SWITCH_CXL1_VR_TO_BIC   0x01

◆ IOE_SWITCH_CXL2_VR_TO_BIC

#define IOE_SWITCH_CXL2_VR_TO_BIC   0x04

◆ IOE_SWITCH_MUX_TO_BIC

#define IOE_SWITCH_MUX_TO_BIC   0x05

◆ PLL_OPERATING_OFFSET

#define PLL_OPERATING_OFFSET   0x00

◆ PMBUS_DRMOS_FAULT

#define PMBUS_DRMOS_FAULT   0x80

◆ SET_CLK_BUF_DELAY_MS

#define SET_CLK_BUF_DELAY_MS   100

◆ VR_EVENT_DELAY_MS

#define VR_EVENT_DELAY_MS   10

Typedef Documentation

◆ add_vr_sel_info

Enumeration Type Documentation

◆ set_ioe4_cmd

Enumerator
SET_CLK 
SET_PE_RST 

◆ vr_event_index_t

Enumerator
PMBUS_VR_IOE1_INT 
NON_PMBUS_VR_PVTT_AB_ASIC1 
NON_PMBUS_VR_PVTT_AB_ASIC2 
NON_PMBUS_VR_PVTT_CD_ASIC1 
NON_PMBUS_VR_PVTT_CD_ASIC2 
NON_PMBUS_VR_PVPP_AB_ASIC1 
NON_PMBUS_VR_PVPP_AB_ASIC2 
NON_PMBUS_VR_PVPP_CD_ASIC1 
NON_PMBUS_VR_PVPP_CD_ASIC2 
NON_PMBUS_VR_P12V_E1S_0_R 
NON_PMBUS_VR_P3V3_E1S_0_R 

Function Documentation

◆ init_vr_event_work()

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

◆ ISR_CXL_PG_ON()

void ISR_CXL_PG_ON ( )

◆ ISR_IOE1_INT()

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

◆ ISR_MB_DC_STAGUS_CHAGNE()

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

◆ ISR_MB_PCIE_RST()

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

◆ ISR_P12V_E1S_PWR_CHANGE()

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

◆ ISR_P3V3_E1S_PWR_CHANGE()

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

◆ ISR_PVPP_AB_ASIC1_VR_FAULT()

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

◆ ISR_PVPP_AB_ASIC2_VR_FAULT()

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

◆ ISR_PVPP_CD_ASIC1_VR_FAULT()

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

◆ ISR_PVPP_CD_ASIC2_VR_FAULT()

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

◆ ISR_PVTT_AB_ASIC1_VR_FAULT()

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

◆ ISR_PVTT_AB_ASIC2_VR_FAULT()

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

◆ ISR_PVTT_CD_ASIC1_PWR_CHANGE()

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

◆ ISR_PVTT_CD_ASIC2_PWR_CHANGE()

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

◆ process_non_pmbus_vr_event_handler()

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

◆ process_pmbus_vr_event_handler()

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

Variable Documentation

◆ is_cxl_power_on_success

bool is_cxl_power_on_success
extern

◆ vr_event_work_items

add_vr_sel_info vr_event_work_items[]
extern