OpenBIC
OpenSource Bridge-IC
plat_power_seq.h File Reference
#include "hal_gpio.h"
#include "plat_gpio.h"
Include dependency graph for plat_power_seq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEFAULT_POWER_ON_SEQ   0x00
 
#define DEFAULT_POWER_OFF_SEQ   0x0B
 
#define NUMBER_OF_POWER_ON_SEQ   0x0A
 
#define NUMBER_OF_POWER_OFF_SEQ   0x00
 
#define CHKPWR_DELAY_MSEC   100
 
#define DEV_RESET_DELAY_USEC   100
 
#define CXL_POWER_OFF   0
 
#define CXL_POWER_ON   1
 

Enumerations

enum  CONTROL_POWER_MODE {
  ENABLE_POWER_MODE = 0x00 , LOW_ENABLE_POWER_MODE , DISABLE_POWER_MODE , HIGH_DISABLE_POWER_MODE ,
  ENABLE_POWER_MODE = 0x00 , DISABLE_POWER_MODE
}
 
enum  POWER_ON_STAGE {
  BOARD_POWER_ON_STAGE0 = 0x00 , BOARD_POWER_ON_STAGE1 , BOARD_POWER_ON_STAGE2 , RETIMER_POWER_ON_STAGE0 ,
  RETIMER_POWER_ON_STAGE1 , E1S_POWER_ON_STAGE0 , E1S_POWER_ON_STAGE1 , E1S_POWER_ON_STAGE2 ,
  E1S_POWER_ON_STAGE3 , ASIC_POWER_ON_STAGE1 = 0x00 , ASIC_POWER_ON_STAGE2 , DIMM_POWER_ON_STAGE1 ,
  DIMM_POWER_ON_STAGE2 , DIMM_POWER_ON_STAGE3 , ASIC_POWER_ON_STAGE = 0x00 , DIMM_POWER_ON_STAGE1 ,
  DIMM_POWER_ON_STAGE2 , DIMM_POWER_ON_STAGE3 , BOARD_POWER_ON_STAGE , CLK_POWER_ON_STAGE = 0 ,
  ASIC_POWER_ON_STAGE_1 , ASIC_POWER_ON_STAGE_2 , DIMM_POWER_ON_STAGE_1 , DIMM_POWER_ON_STAGE_2 ,
  DIMM_POWER_ON_STAGE_3 , MAX_POWER_ON_STAGES , ASIC_POWER_ON_STAGE_1 = 0 , CLK_POWER_ON_STAGE ,
  ASIC_POWER_ON_STAGE_2 , ASIC_POWER_ON_STAGE_3 , DIMM_POWER_ON_STAGE_1 , DIMM_POWER_ON_STAGE_2 ,
  DIMM_POWER_ON_STAGE_3 , MAX_POWER_ON_STAGES
}
 
enum  POWER_OFF_STAGE {
  E1S_POWER_OFF_STAGE0 = 0x00 , E1S_POWER_OFF_STAGE1 , E1S_POWER_OFF_STAGE2 , E1S_POWER_OFF_STAGE3 ,
  RETIMER_POWER_OFF_STAGE0 , RETIMER_POWER_OFF_STAGE1 , RETIMER_POWER_OFF_STAGE2 , BOARD_POWER_OFF_STAGE0 ,
  BOARD_POWER_OFF_STAGE1 , BOARD_POWER_OFF_STAGE2 , DIMM_POWER_OFF_STAGE1 = 0x00 , DIMM_POWER_OFF_STAGE2 ,
  DIMM_POWER_OFF_STAGE3 , ASIC_POWER_OFF_STAGE1 , ASIC_POWER_OFF_STAGE2 , BOARD_POWER_OFF_STAGE ,
  DIMM_POWER_OFF_STAGE1 = 0x00 , DIMM_POWER_OFF_STAGE2 , DIMM_POWER_OFF_STAGE3 , ASIC_POWER_OFF_STAGE1 ,
  ASIC_POWER_OFF_STAGE2 , BOARD_POWER_OFF_STAGE , DIMM_POWER_OFF_STAGE_1 = 0 , DIMM_POWER_OFF_STAGE_2 ,
  DIMM_POWER_OFF_STAGE_3 , ASIC_POWER_OFF_STAGE_1 , ASIC_POWER_OFF_STAGE_2 , ASIC_POWER_OFF_STAGE_3 ,
  CLK_POWER_OFF_STAGE , MAX_POWER_OFF_STAGES , DIMM_POWER_OFF_STAGE_1 = 0 , DIMM_POWER_OFF_STAGE_2 ,
  DIMM_POWER_OFF_STAGE_3 , ASIC_POWER_OFF_STAGE_1 , ASIC_POWER_OFF_STAGE_2 , ASIC_POWER_OFF_STAGE_3 ,
  CLK_POWER_OFF_STAGE , MAX_POWER_OFF_STAGES
}
 
enum  CONTROL_POWER_SEQ_NUM_MAPPING {
  CONTROL_POWER_SEQ_01 = FM_P0V8_ASICA_EN , CONTROL_POWER_SEQ_02 = FM_P0V8_ASICD_EN , CONTROL_POWER_SEQ_03 = FM_P0V9_ASICA_EN , CONTROL_POWER_SEQ_04 = P1V8_ASIC_EN_R ,
  CONTROL_POWER_SEQ_05 = PVPP_AB_EN_R , CONTROL_POWER_SEQ_06 = PVPP_CD_EN_R , CONTROL_POWER_SEQ_07 = FM_PVDDQ_AB_EN , CONTROL_POWER_SEQ_08 = FM_PVDDQ_CD_EN ,
  CONTROL_POWER_SEQ_09 = PVTT_AB_EN_R , CONTROL_POWER_SEQ_10 = PVTT_CD_EN_R
}
 
enum  CHECK_POWER_SEQ_NUM_MAPPING {
  CHECK_POWER_SEQ_01 = FM_EXP_MAIN_PWR_EN , CHECK_POWER_SEQ_02 = PWRGD_P12V_MAIN , CHECK_POWER_SEQ_03 = OPA_PWRGD_P1V8_VR , CHECK_POWER_SEQ_04 = OPA_PWRGD_P0V9_VR ,
  CHECK_POWER_SEQ_05 = OPA_PWRGD_EXP_PWR , CHECK_POWER_SEQ_06 = OPA_CLKBUF_RTM_OE_N , CHECK_POWER_SEQ_07 = OPA_RESET_BIC_RTM_N , CHECK_POWER_SEQ_08 = OPA_PERST_BIC_RTM_N ,
  CHECK_POWER_SEQ_01 = P0V8_ASICA_PWRGD , CHECK_POWER_SEQ_02 = P0V8_ASICD_PWRGD , CHECK_POWER_SEQ_03 = P0V9_ASICA_PWRGD , CHECK_POWER_SEQ_04 = P1V8_ASIC_PG_R ,
  CHECK_POWER_SEQ_05 = PVPP_AB_PG_R , CHECK_POWER_SEQ_06 = PVPP_CD_PG_R , CHECK_POWER_SEQ_07 = PWRGD_PVDDQ_AB , CHECK_POWER_SEQ_08 = PWRGD_PVDDQ_CD ,
  CHECK_POWER_SEQ_09 = PVTT_AB_PG_R , CHECK_POWER_SEQ_10 = PVTT_CD_PG_R
}
 

Functions

void set_MB_DC_status (uint8_t gpio_num)
 
void control_power_on_sequence ()
 
void control_power_off_sequence ()
 
void control_power_stage (uint8_t control_mode, uint8_t control_seq)
 
int check_power_stage (uint8_t check_mode, uint8_t check_seq, uint8_t stage)
 

Macro Definition Documentation

◆ CHKPWR_DELAY_MSEC

#define CHKPWR_DELAY_MSEC   100

◆ CXL_POWER_OFF

#define CXL_POWER_OFF   0

◆ CXL_POWER_ON

#define CXL_POWER_ON   1

◆ DEFAULT_POWER_OFF_SEQ

#define DEFAULT_POWER_OFF_SEQ   0x0B

◆ DEFAULT_POWER_ON_SEQ

#define DEFAULT_POWER_ON_SEQ   0x00

◆ DEV_RESET_DELAY_USEC

#define DEV_RESET_DELAY_USEC   100

◆ NUMBER_OF_POWER_OFF_SEQ

#define NUMBER_OF_POWER_OFF_SEQ   0x00

◆ NUMBER_OF_POWER_ON_SEQ

#define NUMBER_OF_POWER_ON_SEQ   0x0A

Enumeration Type Documentation

◆ CHECK_POWER_SEQ_NUM_MAPPING

Enumerator
CHECK_POWER_SEQ_01 
CHECK_POWER_SEQ_02 
CHECK_POWER_SEQ_03 
CHECK_POWER_SEQ_04 
CHECK_POWER_SEQ_05 
CHECK_POWER_SEQ_06 
CHECK_POWER_SEQ_07 
CHECK_POWER_SEQ_08 
CHECK_POWER_SEQ_01 
CHECK_POWER_SEQ_02 
CHECK_POWER_SEQ_03 
CHECK_POWER_SEQ_04 
CHECK_POWER_SEQ_05 
CHECK_POWER_SEQ_06 
CHECK_POWER_SEQ_07 
CHECK_POWER_SEQ_08 
CHECK_POWER_SEQ_09 
CHECK_POWER_SEQ_10 

◆ CONTROL_POWER_MODE

Enumerator
ENABLE_POWER_MODE 
LOW_ENABLE_POWER_MODE 
DISABLE_POWER_MODE 
HIGH_DISABLE_POWER_MODE 
ENABLE_POWER_MODE 
DISABLE_POWER_MODE 

◆ CONTROL_POWER_SEQ_NUM_MAPPING

Enumerator
CONTROL_POWER_SEQ_01 
CONTROL_POWER_SEQ_02 
CONTROL_POWER_SEQ_03 
CONTROL_POWER_SEQ_04 
CONTROL_POWER_SEQ_05 
CONTROL_POWER_SEQ_06 
CONTROL_POWER_SEQ_07 
CONTROL_POWER_SEQ_08 
CONTROL_POWER_SEQ_09 
CONTROL_POWER_SEQ_10 

◆ POWER_OFF_STAGE

Enumerator
E1S_POWER_OFF_STAGE0 
E1S_POWER_OFF_STAGE1 
E1S_POWER_OFF_STAGE2 
E1S_POWER_OFF_STAGE3 
RETIMER_POWER_OFF_STAGE0 
RETIMER_POWER_OFF_STAGE1 
RETIMER_POWER_OFF_STAGE2 
BOARD_POWER_OFF_STAGE0 
BOARD_POWER_OFF_STAGE1 
BOARD_POWER_OFF_STAGE2 
DIMM_POWER_OFF_STAGE1 
DIMM_POWER_OFF_STAGE2 
DIMM_POWER_OFF_STAGE3 
ASIC_POWER_OFF_STAGE1 
ASIC_POWER_OFF_STAGE2 
BOARD_POWER_OFF_STAGE 
DIMM_POWER_OFF_STAGE1 
DIMM_POWER_OFF_STAGE2 
DIMM_POWER_OFF_STAGE3 
ASIC_POWER_OFF_STAGE1 
ASIC_POWER_OFF_STAGE2 
BOARD_POWER_OFF_STAGE 
DIMM_POWER_OFF_STAGE_1 
DIMM_POWER_OFF_STAGE_2 
DIMM_POWER_OFF_STAGE_3 
ASIC_POWER_OFF_STAGE_1 
ASIC_POWER_OFF_STAGE_2 
ASIC_POWER_OFF_STAGE_3 
CLK_POWER_OFF_STAGE 
MAX_POWER_OFF_STAGES 
DIMM_POWER_OFF_STAGE_1 
DIMM_POWER_OFF_STAGE_2 
DIMM_POWER_OFF_STAGE_3 
ASIC_POWER_OFF_STAGE_1 
ASIC_POWER_OFF_STAGE_2 
ASIC_POWER_OFF_STAGE_3 
CLK_POWER_OFF_STAGE 
MAX_POWER_OFF_STAGES 

◆ POWER_ON_STAGE

Enumerator
BOARD_POWER_ON_STAGE0 
BOARD_POWER_ON_STAGE1 
BOARD_POWER_ON_STAGE2 
RETIMER_POWER_ON_STAGE0 
RETIMER_POWER_ON_STAGE1 
E1S_POWER_ON_STAGE0 
E1S_POWER_ON_STAGE1 
E1S_POWER_ON_STAGE2 
E1S_POWER_ON_STAGE3 
ASIC_POWER_ON_STAGE1 
ASIC_POWER_ON_STAGE2 
DIMM_POWER_ON_STAGE1 
DIMM_POWER_ON_STAGE2 
DIMM_POWER_ON_STAGE3 
ASIC_POWER_ON_STAGE 
DIMM_POWER_ON_STAGE1 
DIMM_POWER_ON_STAGE2 
DIMM_POWER_ON_STAGE3 
BOARD_POWER_ON_STAGE 
CLK_POWER_ON_STAGE 
ASIC_POWER_ON_STAGE_1 
ASIC_POWER_ON_STAGE_2 
DIMM_POWER_ON_STAGE_1 
DIMM_POWER_ON_STAGE_2 
DIMM_POWER_ON_STAGE_3 
MAX_POWER_ON_STAGES 
ASIC_POWER_ON_STAGE_1 
CLK_POWER_ON_STAGE 
ASIC_POWER_ON_STAGE_2 
ASIC_POWER_ON_STAGE_3 
DIMM_POWER_ON_STAGE_1 
DIMM_POWER_ON_STAGE_2 
DIMM_POWER_ON_STAGE_3 
MAX_POWER_ON_STAGES 

Function Documentation

◆ check_power_stage()

int check_power_stage ( uint8_t  check_mode,
uint8_t  check_seq,
uint8_t  stage 
)
Here is the call graph for this function:

◆ control_power_off_sequence()

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

◆ control_power_on_sequence()

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

◆ control_power_stage()

void control_power_stage ( uint8_t  control_mode,
uint8_t  control_seq 
)
Here is the call graph for this function:

◆ set_MB_DC_status()

void set_MB_DC_status ( uint8_t  gpio_num)