OpenBIC
OpenSource Bridge-IC
plat_isr.h File Reference
#include <stdint.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  _cxl_work_info
 

Macros

#define CXL_IOEXP_U14_ADDR   (0x42 >> 1)
 
#define CXL_IOEXP_U15_ADDR   (0x44 >> 1)
 
#define CXL_IOEXP_U16_ADDR   (0x46 >> 1)
 
#define CXL_IOEXP_U17_ADDR   (0x48 >> 1)
 
#define CXL_IOEXP_MUX_CHANNEL   0x10
 
#define CXL_IOEXP_MB_RESET_BIT   BIT(0)
 
#define CXL_IOEXP_DEV_RESET_BIT   BIT(2)
 
#define CXL_IOEXP_ASIC_PERESET_BIT   BIT(6)
 
#define CXL_IOEXP_CONTROLLER_PWRGD_VAL   0x7F
 
#define CXL_IOEXP_DIMM_PWRGD_VAL   0x07
 
#define CXL_NOT_ALL_POWER_GOOD   0
 
#define CXL_ALL_POWER_GOOD   1
 
#define CXL_CONTROLLER_MUX_CHANNEL   0x01
 
#define CXL_DRIVE_READY_DELAY_MS   1000
 
#define CXL_DEBUG_SEL_DELAY_MS   500
 
#define CXL_POWER_GOOD_DELAY_MS   12
 

Typedefs

typedef struct _cxl_work_info cxl_work_info
 

Enumerations

enum  IOEXP_NAME { IOEXP_U14 , IOEXP_U15 , IOEXP_U16 , IOEXP_U17 }
 

Functions

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 ()
 
void init_cxl_work ()
 
int check_cxl_power_status (bool is_mutex)
 
int set_cxl_device_reset_pin (uint8_t val, bool is_mutex)
 
void cxl_ioexp_alert_handler (struct k_work *work_item)
 
bool check_ioexp_status (uint8_t cxl_card_id)
 

Variables

cxl_work_info cxl_work_item []
 
bool is_interrupt_ongoing
 

Macro Definition Documentation

◆ CXL_ALL_POWER_GOOD

#define CXL_ALL_POWER_GOOD   1

◆ CXL_CONTROLLER_MUX_CHANNEL

#define CXL_CONTROLLER_MUX_CHANNEL   0x01

◆ CXL_DEBUG_SEL_DELAY_MS

#define CXL_DEBUG_SEL_DELAY_MS   500

◆ CXL_DRIVE_READY_DELAY_MS

#define CXL_DRIVE_READY_DELAY_MS   1000

◆ CXL_IOEXP_ASIC_PERESET_BIT

#define CXL_IOEXP_ASIC_PERESET_BIT   BIT(6)

◆ CXL_IOEXP_CONTROLLER_PWRGD_VAL

#define CXL_IOEXP_CONTROLLER_PWRGD_VAL   0x7F

◆ CXL_IOEXP_DEV_RESET_BIT

#define CXL_IOEXP_DEV_RESET_BIT   BIT(2)

◆ CXL_IOEXP_DIMM_PWRGD_VAL

#define CXL_IOEXP_DIMM_PWRGD_VAL   0x07

◆ CXL_IOEXP_MB_RESET_BIT

#define CXL_IOEXP_MB_RESET_BIT   BIT(0)

◆ CXL_IOEXP_MUX_CHANNEL

#define CXL_IOEXP_MUX_CHANNEL   0x10

◆ CXL_IOEXP_U14_ADDR

#define CXL_IOEXP_U14_ADDR   (0x42 >> 1)

◆ CXL_IOEXP_U15_ADDR

#define CXL_IOEXP_U15_ADDR   (0x44 >> 1)

◆ CXL_IOEXP_U16_ADDR

#define CXL_IOEXP_U16_ADDR   (0x46 >> 1)

◆ CXL_IOEXP_U17_ADDR

#define CXL_IOEXP_U17_ADDR   (0x48 >> 1)

◆ CXL_NOT_ALL_POWER_GOOD

#define CXL_NOT_ALL_POWER_GOOD   0

◆ CXL_POWER_GOOD_DELAY_MS

#define CXL_POWER_GOOD_DELAY_MS   12

Typedef Documentation

◆ cxl_work_info

typedef struct _cxl_work_info cxl_work_info

Enumeration Type Documentation

◆ IOEXP_NAME

enum IOEXP_NAME
Enumerator
IOEXP_U14 
IOEXP_U15 
IOEXP_U16 
IOEXP_U17 

Function Documentation

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

◆ 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

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

◆ 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[]
extern

◆ is_interrupt_ongoing

bool is_interrupt_ongoing
extern