OpenBIC
OpenSource Bridge-IC
plat_hook.c File Reference
#include <stdio.h>
#include <string.h>
#include "libutil.h"
#include "ast_adc.h"
#include "sensor.h"
#include "hal_i2c.h"
#include "plat_i2c.h"
#include "plat_gpio.h"
#include "plat_sensor_table.h"
#include "plat_hook.h"
#include "plat_event.h"
#include "plat_isr.h"
#include <logging/log.h>
#include "mp2971.h"
#include "isl69259.h"
#include "raa228249.h"
#include "tmp75.h"
#include "tmp431.h"
#include "emc1413.h"
#include "mp29816a.h"
#include "plat_pldm_sensor.h"
#include "plat_class.h"
#include "pmbus.h"
#include "plat_i2c_target.h"
#include "pldm_sensor.h"
Include dependency graph for plat_hook.c:

Macros

#define ALERT_LEVEL_USER_SETTINGS_OFFSET   0x8200
 
#define EEPROM_MAX_WRITE_TIME   5
 
#define AEGIS_CPLD_ADDR   (0x4C >> 1)
 
#define VR_PRE_READ_ARG(idx)
 
#define TEMP_THRESHOLD_USER_SETTINGS_OFFSET   0x8100
 
#define VR_VOUT_USER_SETTINGS_OFFSET   0x8000
 
#define SOC_PCIE_PERST_USER_SETTINGS_OFFSET   0x8300
 
#define BOOTSTRAP_USER_SETTINGS_OFFSET   0x8400
 
#define THERMALTRIP_USER_SETTINGS_OFFSET   0x8500
 
#define THROTTLE_USER_SETTINGS_OFFSET   0x8600
 
#define CPLD_THERMALTRIP_SWITCH_ADDR   0x3D
 
#define CPLD_THROTTLE_SWITCH_ADDR   0x32
 
#define PLAT_TMP432_THERM_HYSTERESIS_VAL   0x5A
 
#define PLAT_EMC1413_THERM_HYSTERESIS_VAL   0x5A
 

Functions

 LOG_MODULE_REGISTER (plat_hook)
 
bool ubc_vr_rail_name_get (uint8_t rail, uint8_t **name)
 
bool ubc_vr_rail_enum_get (uint8_t *name, uint8_t *num)
 
int power_level_send_event (bool is_assert, int ubc1_current, int ubc2_current)
 
bool post_all_sensor_read (sensor_cfg *cfg, void *args, int *reading)
 
bool post_ubc_read (sensor_cfg *cfg, void *args, int *reading)
 
bool temp_sensor_rail_name_get (uint8_t rail, uint8_t **name)
 
bool temp_sensor_rail_enum_get (uint8_t *name, uint8_t *num)
 
bool strap_name_get (uint8_t rail, uint8_t **name)
 
bool strap_enum_get (uint8_t *name, uint8_t *num)
 
bool find_bootstrap_by_rail (uint8_t rail, bootstrap_mapping_register *result)
 
void * vr_mutex_get (enum VR_INDEX_E vr_index)
 
bool pre_vr_read (sensor_cfg *cfg, void *args)
 
bool post_vr_read (sensor_cfg *cfg, void *args, int *const reading)
 
bool get_average_power (uint8_t rail, uint32_t *milliwatt)
 
bool is_mb_dc_on ()
 
void vr_mutex_init (void)
 
bool vr_rail_name_get (uint8_t rail, uint8_t **name)
 
bool vr_status_name_get (uint8_t rail, uint8_t **name)
 
bool voltage_command_setting_get (uint8_t rail, uint16_t *vout)
 
bool vr_rail_enum_get (uint8_t *name, uint8_t *num)
 
bool vr_status_enum_get (uint8_t *name, uint8_t *num)
 
bool plat_get_vout_range (uint8_t rail, uint16_t *vout_max_millivolt, uint16_t *vout_min_millivolt)
 
bool plat_set_vout_range_min (uint8_t rail, uint16_t *millivolt)
 
bool plat_set_vout_range_max (uint8_t rail, uint16_t *millivolt)
 
bool vr_vout_user_settings_get (void *user_settings)
 
bool vr_vout_user_settings_set (void *user_settings)
 
bool set_user_settings_soc_pcie_perst_to_eeprom (void *user_settings, uint8_t data_length)
 
bool get_user_settings_soc_pcie_perst_from_eeprom (void *user_settings, uint8_t data_length)
 
int set_user_settings_alert_level_to_eeprom (void *user_settings, uint8_t data_length)
 
int get_user_settings_alert_level_from_eeprom (void *user_settings, uint8_t data_length)
 
bool vr_vout_user_settings_init (void)
 
bool vr_vout_default_settings_init (void)
 
bool temp_index_threshold_type_name_get (uint8_t type, uint8_t **name)
 
bool temp_threshold_type_enum_get (uint8_t *name, uint8_t *num)
 
bool temp_threshold_user_settings_get (void *temp_threshold_user_settings)
 
bool temp_threshold_user_settings_set (void *temp_threshold_user_settings)
 
bool bootstrap_user_settings_get (void *bootstrap_user_settings)
 
bool bootstrap_user_settings_set (void *bootstrap_user_settings)
 
bool get_user_settings_thermaltrip_from_eeprom (void *user_settings, uint8_t data_length)
 
bool set_user_settings_thermaltrip_to_eeprom (void *thermaltrip_user_settings, uint8_t data_length)
 
bool set_thermaltrip_user_settings (bool thermaltrip_enable, bool is_perm)
 
bool get_user_settings_throttle_from_eeprom (void *user_settings, uint8_t data_length)
 
bool set_user_settings_throttle_to_eeprom (void *throttle_user_settings, uint8_t data_length)
 
bool set_throttle_user_settings (uint8_t *throttle_status_reg, bool is_perm)
 
bool check_is_bootstrap_setting_value_valid (uint8_t rail, uint8_t value)
 
bool set_bootstrap_table_and_user_settings (uint8_t rail, uint8_t *change_setting_value, uint8_t drive_index_level, bool is_perm, bool is_default)
 
void user_settings_init (void)
 
bool get_bootstrap_change_drive_level (int rail, int *drive_level)
 
void set_uart_power_event_is_enable (bool is_enable)
 
void pwr_level_mutex_init (void)
 
void set_alert_level_to_default_or_user_setting (bool is_default, int32_t user_setting)
 
int get_alert_level_info (bool *is_assert, int32_t *default_value, int32_t *setting_value)
 
bool vr_rail_voltage_peak_get (uint8_t *name, int *peak_value)
 
bool vr_rail_voltage_peak_clear (uint8_t rail_index)
 
bool plat_get_vr_status (uint8_t rail, uint8_t vr_status_rail, uint16_t *vr_status)
 
bool plat_clear_vr_status (uint8_t rail)
 
bool perm_config_clear (void)
 
bool plat_get_vout_command (uint8_t rail, uint16_t *millivolt)
 
bool plat_set_vout_command (uint8_t rail, uint16_t *millivolt, bool is_default, bool is_perm)
 
bool plat_get_temp_status (uint8_t rail, uint8_t *temp_status)
 
bool plat_clear_temp_status (uint8_t rail)
 
bool plat_get_temp_threshold (uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius)
 
bool plat_set_temp_threshold (uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius, bool is_default, bool is_perm)
 
void init_temp_alert_mode (void)
 
void init_temp_limit (void)
 
void plat_pldm_sensor_post_load_init (int thread_id)
 

Variables

int32_t alert_level_mA_default = 110000
 
int32_t alert_level_mA_user_setting = 110000
 
bool alert_level_is_assert = false
 
ubc_vr_power_mapping_sensor ubc_vr_power_table []
 
vr_pre_proc_arg vr_pre_read_args []
 
mp2971_init_arg mp2971_init_args []
 
isl69259_init_arg isl69259_init_args []
 
mpc12109_init_arg mpc12109_init_args []
 
temp_mapping_sensor temp_index_table []
 
power_sequence power_sequence_on_table []
 
power_sequence power_sequence_off_table []
 
size_t power_sequence_on_table_size = ARRAY_SIZE(power_sequence_on_table)
 
size_t power_sequence_off_table_size = ARRAY_SIZE(power_sequence_off_table)
 
bootstrap_mapping_register bootstrap_table []
 
bootstrap_user_settings_struct bootstrap_user_settings = { 0 }
 
temp_threshold_mapping_sensor temp_index_threshold_type_table []
 
temp_threshold_user_settings_struct temp_threshold_user_settings = { 0 }
 
struct temp_threshold_user_settings_struct temp_threshold_default_settings = { 0 }
 
vr_mapping_sensor vr_rail_table []
 
vr_mapping_status vr_status_table []
 
vr_vout_user_settings user_settings = { 0 }
 
struct vr_vout_user_settings default_settings = { 0 }
 
vr_vout_range_user_settings_struct vout_range_user_settings = { 0 }
 
struct vr_vout_user_settings voltage_command_get = { 0 }
 
thermaltrip_user_settings_struct thermaltrip_user_settings = { 0xFF }
 
throttle_user_settings_struct throttle_user_settings = { 0xFF }
 

Macro Definition Documentation

◆ AEGIS_CPLD_ADDR

#define AEGIS_CPLD_ADDR   (0x4C >> 1)

◆ ALERT_LEVEL_USER_SETTINGS_OFFSET

#define ALERT_LEVEL_USER_SETTINGS_OFFSET   0x8200

◆ BOOTSTRAP_USER_SETTINGS_OFFSET

#define BOOTSTRAP_USER_SETTINGS_OFFSET   0x8400

◆ CPLD_THERMALTRIP_SWITCH_ADDR

#define CPLD_THERMALTRIP_SWITCH_ADDR   0x3D

◆ CPLD_THROTTLE_SWITCH_ADDR

#define CPLD_THROTTLE_SWITCH_ADDR   0x32

◆ EEPROM_MAX_WRITE_TIME

#define EEPROM_MAX_WRITE_TIME   5

◆ PLAT_EMC1413_THERM_HYSTERESIS_VAL

#define PLAT_EMC1413_THERM_HYSTERESIS_VAL   0x5A

◆ PLAT_TMP432_THERM_HYSTERESIS_VAL

#define PLAT_TMP432_THERM_HYSTERESIS_VAL   0x5A

◆ SOC_PCIE_PERST_USER_SETTINGS_OFFSET

#define SOC_PCIE_PERST_USER_SETTINGS_OFFSET   0x8300

◆ TEMP_THRESHOLD_USER_SETTINGS_OFFSET

#define TEMP_THRESHOLD_USER_SETTINGS_OFFSET   0x8100

◆ THERMALTRIP_USER_SETTINGS_OFFSET

#define THERMALTRIP_USER_SETTINGS_OFFSET   0x8500

◆ THROTTLE_USER_SETTINGS_OFFSET

#define THROTTLE_USER_SETTINGS_OFFSET   0x8600

◆ VR_PRE_READ_ARG

#define VR_PRE_READ_ARG (   idx)
Value:
{ .mutex = vr_mutex + idx, .vr_page = 0x0 }, \
{ \
.mutex = vr_mutex + idx, .vr_page = 0x1 \
}
uint8_t idx
Definition: plat_util.c:42

◆ VR_VOUT_USER_SETTINGS_OFFSET

#define VR_VOUT_USER_SETTINGS_OFFSET   0x8000

Function Documentation

◆ bootstrap_user_settings_get()

bool bootstrap_user_settings_get ( void *  bootstrap_user_settings)
Here is the call graph for this function:

◆ bootstrap_user_settings_set()

bool bootstrap_user_settings_set ( void *  bootstrap_user_settings)
Here is the call graph for this function:

◆ check_is_bootstrap_setting_value_valid()

bool check_is_bootstrap_setting_value_valid ( uint8_t  rail,
uint8_t  value 
)

◆ find_bootstrap_by_rail()

bool find_bootstrap_by_rail ( uint8_t  rail,
bootstrap_mapping_register result 
)

◆ get_alert_level_info()

int get_alert_level_info ( bool *  is_assert,
int32_t *  default_value,
int32_t *  setting_value 
)

◆ get_average_power()

bool get_average_power ( uint8_t  rail,
uint32_t *  milliwatt 
)

◆ get_bootstrap_change_drive_level()

bool get_bootstrap_change_drive_level ( int  rail,
int *  drive_level 
)
Here is the call graph for this function:

◆ get_user_settings_alert_level_from_eeprom()

int get_user_settings_alert_level_from_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ get_user_settings_soc_pcie_perst_from_eeprom()

bool get_user_settings_soc_pcie_perst_from_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ get_user_settings_thermaltrip_from_eeprom()

bool get_user_settings_thermaltrip_from_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ get_user_settings_throttle_from_eeprom()

bool get_user_settings_throttle_from_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ init_temp_alert_mode()

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

◆ init_temp_limit()

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

◆ is_mb_dc_on()

bool is_mb_dc_on ( )
Here is the call graph for this function:

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( plat_hook  )

◆ perm_config_clear()

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

◆ plat_clear_temp_status()

bool plat_clear_temp_status ( uint8_t  rail)
Here is the call graph for this function:

◆ plat_clear_vr_status()

bool plat_clear_vr_status ( uint8_t  rail)
Here is the call graph for this function:

◆ plat_get_temp_status()

bool plat_get_temp_status ( uint8_t  rail,
uint8_t *  temp_status 
)
Here is the call graph for this function:

◆ plat_get_temp_threshold()

bool plat_get_temp_threshold ( uint8_t  temp_index_threshold_type,
uint32_t *  millidegree_celsius 
)
Here is the call graph for this function:

◆ plat_get_vout_command()

bool plat_get_vout_command ( uint8_t  rail,
uint16_t *  millivolt 
)
Here is the call graph for this function:

◆ plat_get_vout_range()

bool plat_get_vout_range ( uint8_t  rail,
uint16_t *  vout_max_millivolt,
uint16_t *  vout_min_millivolt 
)
Here is the call graph for this function:

◆ plat_get_vr_status()

bool plat_get_vr_status ( uint8_t  rail,
uint8_t  vr_status_rail,
uint16_t *  vr_status 
)
Here is the call graph for this function:

◆ plat_pldm_sensor_post_load_init()

void plat_pldm_sensor_post_load_init ( int  thread_id)
Here is the call graph for this function:

◆ plat_set_temp_threshold()

bool plat_set_temp_threshold ( uint8_t  temp_index_threshold_type,
uint32_t *  millidegree_celsius,
bool  is_default,
bool  is_perm 
)
Here is the call graph for this function:

◆ plat_set_vout_command()

bool plat_set_vout_command ( uint8_t  rail,
uint16_t *  millivolt,
bool  is_default,
bool  is_perm 
)
Here is the call graph for this function:

◆ plat_set_vout_range_max()

bool plat_set_vout_range_max ( uint8_t  rail,
uint16_t *  millivolt 
)
Here is the call graph for this function:

◆ plat_set_vout_range_min()

bool plat_set_vout_range_min ( uint8_t  rail,
uint16_t *  millivolt 
)
Here is the call graph for this function:

◆ post_all_sensor_read()

bool post_all_sensor_read ( sensor_cfg cfg,
void *  args,
int *  reading 
)
Here is the call graph for this function:

◆ post_ubc_read()

bool post_ubc_read ( sensor_cfg cfg,
void *  args,
int *  reading 
)

◆ post_vr_read()

bool post_vr_read ( sensor_cfg cfg,
void *  args,
int *const  reading 
)
Here is the call graph for this function:

◆ power_level_send_event()

int power_level_send_event ( bool  is_assert,
int  ubc1_current,
int  ubc2_current 
)

◆ pre_vr_read()

bool pre_vr_read ( sensor_cfg cfg,
void *  args 
)
Here is the call graph for this function:

◆ pwr_level_mutex_init()

void pwr_level_mutex_init ( void  )

◆ set_alert_level_to_default_or_user_setting()

void set_alert_level_to_default_or_user_setting ( bool  is_default,
int32_t  user_setting 
)

◆ set_bootstrap_table_and_user_settings()

bool set_bootstrap_table_and_user_settings ( uint8_t  rail,
uint8_t *  change_setting_value,
uint8_t  drive_index_level,
bool  is_perm,
bool  is_default 
)
Here is the call graph for this function:

◆ set_thermaltrip_user_settings()

bool set_thermaltrip_user_settings ( bool  thermaltrip_enable,
bool  is_perm 
)
Here is the call graph for this function:

◆ set_throttle_user_settings()

bool set_throttle_user_settings ( uint8_t *  throttle_status_reg,
bool  is_perm 
)
Here is the call graph for this function:

◆ set_uart_power_event_is_enable()

void set_uart_power_event_is_enable ( bool  is_enable)

◆ set_user_settings_alert_level_to_eeprom()

int set_user_settings_alert_level_to_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ set_user_settings_soc_pcie_perst_to_eeprom()

bool set_user_settings_soc_pcie_perst_to_eeprom ( void *  user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ set_user_settings_thermaltrip_to_eeprom()

bool set_user_settings_thermaltrip_to_eeprom ( void *  thermaltrip_user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ set_user_settings_throttle_to_eeprom()

bool set_user_settings_throttle_to_eeprom ( void *  throttle_user_settings,
uint8_t  data_length 
)
Here is the call graph for this function:

◆ strap_enum_get()

bool strap_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ strap_name_get()

bool strap_name_get ( uint8_t  rail,
uint8_t **  name 
)

◆ temp_index_threshold_type_name_get()

bool temp_index_threshold_type_name_get ( uint8_t  type,
uint8_t **  name 
)

◆ temp_sensor_rail_enum_get()

bool temp_sensor_rail_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ temp_sensor_rail_name_get()

bool temp_sensor_rail_name_get ( uint8_t  rail,
uint8_t **  name 
)

◆ temp_threshold_type_enum_get()

bool temp_threshold_type_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ temp_threshold_user_settings_get()

bool temp_threshold_user_settings_get ( void *  temp_threshold_user_settings)
Here is the call graph for this function:

◆ temp_threshold_user_settings_set()

bool temp_threshold_user_settings_set ( void *  temp_threshold_user_settings)
Here is the call graph for this function:

◆ ubc_vr_rail_enum_get()

bool ubc_vr_rail_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ ubc_vr_rail_name_get()

bool ubc_vr_rail_name_get ( uint8_t  rail,
uint8_t **  name 
)

◆ user_settings_init()

void user_settings_init ( void  )

◆ voltage_command_setting_get()

bool voltage_command_setting_get ( uint8_t  rail,
uint16_t *  vout 
)

◆ vr_mutex_get()

void * vr_mutex_get ( enum VR_INDEX_E  vr_index)

◆ vr_mutex_init()

void vr_mutex_init ( void  )

◆ vr_rail_enum_get()

bool vr_rail_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ vr_rail_name_get()

bool vr_rail_name_get ( uint8_t  rail,
uint8_t **  name 
)

◆ vr_rail_voltage_peak_clear()

bool vr_rail_voltage_peak_clear ( uint8_t  rail_index)

◆ vr_rail_voltage_peak_get()

bool vr_rail_voltage_peak_get ( uint8_t *  name,
int *  peak_value 
)

◆ vr_status_enum_get()

bool vr_status_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ vr_status_name_get()

bool vr_status_name_get ( uint8_t  rail,
uint8_t **  name 
)

◆ vr_vout_default_settings_init()

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

◆ vr_vout_user_settings_get()

bool vr_vout_user_settings_get ( void *  user_settings)
Here is the call graph for this function:

◆ vr_vout_user_settings_init()

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

◆ vr_vout_user_settings_set()

bool vr_vout_user_settings_set ( void *  user_settings)
Here is the call graph for this function:

Variable Documentation

◆ alert_level_is_assert

bool alert_level_is_assert = false

◆ alert_level_mA_default

int32_t alert_level_mA_default = 110000

◆ alert_level_mA_user_setting

int32_t alert_level_mA_user_setting = 110000

◆ bootstrap_table

bootstrap_mapping_register bootstrap_table[]

◆ bootstrap_user_settings

bootstrap_user_settings_struct bootstrap_user_settings = { 0 }

◆ default_settings

struct vr_vout_user_settings default_settings = { 0 }

◆ isl69259_init_args

Initial value:
= {
[0] = { .vout_scale_enable = true, .vout_scale = (499 / 798.8) },
[1] = { .vout_scale_enable = true, .vout_scale = (499 / 709.0) },
}

◆ mp2971_init_args

Initial value:
= {
[0] = { .vout_scale_enable = true },
}

◆ mpc12109_init_args

Initial value:
= {
[0] = { .iout_lsb = 0.5, .pout_lsb = 2 },
}

◆ power_sequence_off_table

power_sequence power_sequence_off_table[]

◆ power_sequence_off_table_size

size_t power_sequence_off_table_size = ARRAY_SIZE(power_sequence_off_table)

◆ power_sequence_on_table

power_sequence power_sequence_on_table[]

◆ power_sequence_on_table_size

size_t power_sequence_on_table_size = ARRAY_SIZE(power_sequence_on_table)

◆ temp_index_table

temp_mapping_sensor temp_index_table[]
Initial value:
= {
"Minerva_Aegis_ASIC_DIE_ATH_SENSOR_0_TEMP" },
"Minerva_Aegis_ASIC_DIE_ATH_SENSOR_1_TEMP" },
{ TEMP_INDEX_TOP_INLET, TOP_INLET_TEMP_C, "Minerva_Aegis_TOP_INLET_TEMP" },
{ TEMP_INDEX_BOT_INLET, BOT_INLET_TEMP_C, "Minerva_Aegis_BOT_INLET_TEMP" },
{ TEMP_INDEX_TOP_OUTLET, TOP_OUTLET_TEMP_C, "Minerva_Aegis_TOP_OUTLET_TEMP" },
{ TEMP_INDEX_BOT_OUTLET, BOT_OUTLET_TEMP_C, "Minerva_Aegis_BOT_OUTLET_TEMP" },
}
@ TEMP_INDEX_ON_DIE_ATH_1_S_OWL
Definition: plat_hook.h:80
@ TEMP_INDEX_BOT_OUTLET
Definition: plat_hook.h:84
@ TEMP_INDEX_BOT_INLET
Definition: plat_hook.h:83
@ TEMP_INDEX_TOP_OUTLET
Definition: plat_hook.h:82
@ TEMP_INDEX_ON_DIE_ATH_0_N_OWL
Definition: plat_hook.h:79
@ TEMP_INDEX_TOP_INLET
Definition: plat_hook.h:81
#define TOP_OUTLET_TEMP_C
Definition: plat_pldm_sensor.h:120
#define ASIC_DIE_ATH_SENSOR_1_TEMP_C
Definition: plat_pldm_sensor.h:124
#define TOP_INLET_TEMP_C
Definition: plat_pldm_sensor.h:119
#define BOT_OUTLET_TEMP_C
Definition: plat_pldm_sensor.h:122
#define ASIC_DIE_ATH_SENSOR_0_TEMP_C
Definition: plat_pldm_sensor.h:123
#define BOT_INLET_TEMP_C
Definition: plat_pldm_sensor.h:121

◆ temp_index_threshold_type_table

temp_threshold_mapping_sensor temp_index_threshold_type_table[]
Initial value:
= {
{ DIE_ATH_0_N_OWL_REMOTE_1_HIGH_LIMIT, REMOTE_1_HIGH_LIMIT, ASIC_DIE_ATH_SENSOR_0_TEMP_C, "Minerva_Aegis_ASIC_DIE_ATH_SENSOR_0_TEMP_HIGH_LIM" },
{ DIE_ATH_0_N_OWL_REMOTE_1_LOW_LIMIT, REMOTE_1_LOW_LIMIT, ASIC_DIE_ATH_SENSOR_0_TEMP_C, "Minerva_Aegis_ASIC_DIE_ATH_SENSOR_0_TEMP_LOW_LIM" },
{ DIE_ATH_1_S_OWL_REMOTE_1_HIGH_LIMIT, REMOTE_1_HIGH_LIMIT, ASIC_DIE_ATH_SENSOR_1_TEMP_C, "Minerva_Aegis_ASIC_DIE_ATH_SENSOR_1_TEMP_HIGH_LIM" },
{ DIE_ATH_1_S_OWL_REMOTE_1_LOW_LIMIT, REMOTE_1_LOW_LIMIT, ASIC_DIE_ATH_SENSOR_1_TEMP_C, "Minerva_Aegis_ASIC_DIE_ATH_SENSOR_1_TEMP_LOW_LIM" },
{ DIE_ATH_0_N_OWL_REMOTE_2_HIGH_LIMIT, REMOTE_2_HIGH_LIMIT, ASIC_DIE_N_OWL_TEMP_C, "Minerva_Aegis_ASIC_DIE_N_OWL_TEMP_HIGH_LIM" },
{ DIE_ATH_0_N_OWL_REMOTE_2_LOW_LIMIT, REMOTE_2_LOW_LIMIT, ASIC_DIE_N_OWL_TEMP_C, "Minerva_Aegis_ASIC_DIE_N_OWL_TEMP_LOW_LIM" },
{ DIE_ATH_1_S_OWL_REMOTE_2_HIGH_LIMIT, REMOTE_2_HIGH_LIMIT, ASIC_DIE_S_OWL_TEMP_C, "Minerva_Aegis_ASIC_DIE_S_OWL_TEMP_HIGH_LIM" },
{ DIE_ATH_1_S_OWL_REMOTE_2_LOW_LIMIT, REMOTE_2_LOW_LIMIT, ASIC_DIE_S_OWL_TEMP_C, "Minerva_Aegis_ASIC_DIE_S_OWL_TEMP_LOW_LIM" },
{ TOP_INLET_LOW_LIMIT, LOCAL_LOW_LIMIT, TOP_INLET_TEMP_C, "Minerva_Aegis_TOP_INLET_TEMP_LOW_LIM" },
{ TOP_INLET_HIGH_LIMIT, LOCAL_HIGH_LIMIT, TOP_INLET_TEMP_C, "Minerva_Aegis_TOP_INLET_TEMP_HIGH_LIM" },
{ TOP_OUTLET_LOW_LIMIT, LOCAL_LOW_LIMIT, TOP_OUTLET_TEMP_C, "Minerva_Aegis_TOP_OUTLET_TEMP_LOW_LIM" },
{ TOP_OUTLET_HIGH_LIMIT, LOCAL_HIGH_LIMIT, TOP_OUTLET_TEMP_C, "Minerva_Aegis_TOP_OUTLET_TEMP_HIGH_LIM" },
{ BOT_INLET_LOW_LIMIT, LOCAL_LOW_LIMIT, BOT_INLET_TEMP_C, "Minerva_Aegis_BOT_INLET_TEMP_LOW_LIM" },
{ BOT_INLET_HIGH_LIMIT, LOCAL_HIGH_LIMIT, BOT_INLET_TEMP_C, "Minerva_Aegis_BOT_INLET_TEMP_HIGH_LIM" },
{ BOT_OUTLET_LOW_LIMIT, LOCAL_LOW_LIMIT, BOT_OUTLET_TEMP_C, "Minerva_Aegis_BOT_OUTLET_TEMP_LOW_LIM" },
{ BOT_OUTLET_HIGH_LIMIT, LOCAL_HIGH_LIMIT, BOT_OUTLET_TEMP_C, "Minerva_Aegis_BOT_OUTLET_TEMP_HIGH_LIM" },
}
@ DIE_ATH_1_S_OWL_REMOTE_2_HIGH_LIMIT
Definition: plat_hook.h:96
@ BOT_INLET_LOW_LIMIT
Definition: plat_hook.h:103
@ DIE_ATH_1_S_OWL_REMOTE_2_LOW_LIMIT
Definition: plat_hook.h:97
@ TOP_OUTLET_HIGH_LIMIT
Definition: plat_hook.h:102
@ DIE_ATH_1_S_OWL_REMOTE_1_LOW_LIMIT
Definition: plat_hook.h:92
@ DIE_ATH_1_S_OWL_REMOTE_1_HIGH_LIMIT
Definition: plat_hook.h:91
@ DIE_ATH_0_N_OWL_REMOTE_2_HIGH_LIMIT
Definition: plat_hook.h:94
@ DIE_ATH_0_N_OWL_REMOTE_1_LOW_LIMIT
Definition: plat_hook.h:90
@ BOT_OUTLET_HIGH_LIMIT
Definition: plat_hook.h:106
@ BOT_OUTLET_LOW_LIMIT
Definition: plat_hook.h:105
@ TOP_INLET_HIGH_LIMIT
Definition: plat_hook.h:100
@ TOP_OUTLET_LOW_LIMIT
Definition: plat_hook.h:101
@ TOP_INLET_LOW_LIMIT
Definition: plat_hook.h:99
@ DIE_ATH_0_N_OWL_REMOTE_1_HIGH_LIMIT
Definition: plat_hook.h:89
@ BOT_INLET_HIGH_LIMIT
Definition: plat_hook.h:104
@ DIE_ATH_0_N_OWL_REMOTE_2_LOW_LIMIT
Definition: plat_hook.h:95
#define ASIC_DIE_S_OWL_TEMP_C
Definition: plat_pldm_sensor.h:126
#define ASIC_DIE_N_OWL_TEMP_C
Definition: plat_pldm_sensor.h:125
@ REMOTE_1_LOW_LIMIT
Definition: sensor.h:798
@ REMOTE_2_HIGH_LIMIT
Definition: sensor.h:799
@ REMOTE_2_LOW_LIMIT
Definition: sensor.h:800
@ LOCAL_LOW_LIMIT
Definition: sensor.h:796
@ LOCAL_HIGH_LIMIT
Definition: sensor.h:795
@ REMOTE_1_HIGH_LIMIT
Definition: sensor.h:797

◆ temp_threshold_default_settings

struct temp_threshold_user_settings_struct temp_threshold_default_settings = { 0 }

◆ temp_threshold_user_settings

temp_threshold_user_settings_struct temp_threshold_user_settings = { 0 }

◆ thermaltrip_user_settings

thermaltrip_user_settings_struct thermaltrip_user_settings = { 0xFF }

◆ throttle_user_settings

throttle_user_settings_struct throttle_user_settings = { 0xFF }

◆ ubc_vr_power_table

ubc_vr_power_mapping_sensor ubc_vr_power_table[]
Initial value:
= {
{ UBC_VR_RAIL_E_UBC1, UBC1_P12V_PWR_W,"UBC1_P12V_PWR_W", {0} },
{ UBC_VR_RAIL_E_UBC2, UBC2_P12V_PWR_W,"UBC2_P12V_PWR_W", {0} },
{ UBC_VR_RAIL_E_P3V3, VR_P3V3_PWR_W, "VR_P3V3_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V85_PVDD, VR_ASIC_P0V85_PVDD_PWR_W,"VR_ASIC_P0V85_PVDD_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_PVDD_CH_N, VR_ASIC_P0V75_PVDD_CH_N_PWR_W,"VR_ASIC_P0V75_PVDD_CH_N_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_MAX_PHY_N, VR_ASIC_P0V75_MAX_PHY_N_PWR_W,"VR_ASIC_P0V75_MAX_PHY_N_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_PVDD_CH_S, VR_ASIC_P0V75_PVDD_CH_S_PWR_W, "VR_ASIC_P0V75_PVDD_CH_S_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_MAX_PHY_S, VR_ASIC_P0V75_MAX_PHY_S_PWR_W, "VR_ASIC_P0V75_MAX_PHY_S_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEA, VR_ASIC_P0V75_TRVDD_ZONEA_PWR_W, "VR_ASIC_P0V75_TRVDD_ZONEA_PWR_W", {0} },
{ UBC_VR_RAIL_E_P1V8_VPP_HBM0_HBM2_HBM4, VR_ASIC_P1V8_VPP_HBM0_HBM2_HBM4_PWR_W, "VR_ASIC_P1V8_VPP_HBM0_HBM2_HBM4_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEB, VR_ASIC_P0V75_TRVDD_ZONEB_PWR_W, "VR_ASIC_P0V75_TRVDD_ZONEB_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V4_VDDQL_HBM0_HBM2_HBM4, VR_ASIC_P0V4_VDDQL_HBM0_HBM2_HBM4_PWR_W, "VR_ASIC_P0V4_VDDQL_HBM0_HBM2_HBM4_PWR_W", {0} },
{ UBC_VR_RAIL_E_P1V1_VDDC_HBM0_HBM2_HBM4, VR_ASIC_P1V1_VDDC_HBM0_HBM2_HBM4_PWR_W, "VR_ASIC_P1V1_VDDC_HBM0_HBM2_HBM4_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM0_HBM2_HBM4, VR_ASIC_P0V75_VDDPHY_HBM0_HBM2_HBM4_PWR_W, "VR_ASIC_P0V75_VDDPHY_HBM0_HBM2_HBM4_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEA, VR_ASIC_P0V9_TRVDD_ZONEA_PWR_W, "VR_ASIC_P0V9_TRVDD_ZONEA_PWR_W", {0} },
{ UBC_VR_RAIL_E_P1V8_VPP_HBM1_HBM3_HBM5, VR_ASIC_P1V8_VPP_HBM1_HBM3_HBM5_PWR_W, "VR_ASIC_P1V8_VPP_HBM1_HBM3_HBM5_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEB, VR_ASIC_P0V9_TRVDD_ZONEB_PWR_W, "VR_ASIC_P0V9_TRVDD_ZONEB_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V4_VDDQL_HBM1_HBM3_HBM5, VR_ASIC_P0V4_VDDQL_HBM1_HBM3_HBM5_PWR_W, "VR_ASIC_P0V4_VDDQL_HBM1_HBM3_HBM5_PWR_W", {0} },
{ UBC_VR_RAIL_E_P1V1_VDDC_HBM1_HBM3_HBM5, VR_ASIC_P1V1_VDDC_HBM1_HBM3_HBM5_PWR_W, "VR_ASIC_P1V1_VDDC_HBM1_HBM3_HBM5_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM1_HBM3_HBM5, VR_ASIC_P0V75_VDDPHY_HBM1_HBM3_HBM5_PWR_W, "VR_ASIC_P0V75_VDDPHY_HBM1_HBM3_HBM5_PWR_W", {0} },
{ UBC_VR_RAIL_E_P0V8_VDDA_PCIE, VR_ASIC_P0V8_VDDA_PCIE_PWR_W, "VR_ASIC_P0V8_VDDA_PCIE_PWR_W", {0} },
{ UBC_VR_RAIL_E_P1V2_VDDHTX_PCIE, VR_ASIC_P1V2_VDDHTX_PCIE_PWR_W, "VR_ASIC_P1V2_VDDHTX_PCIE_PWR_W", {0} }
}
@ UBC_VR_RAIL_E_P0V75_PVDD_CH_N
Definition: plat_hook.h:142
@ UBC_VR_RAIL_E_P1V2_VDDHTX_PCIE
Definition: plat_hook.h:159
@ UBC_VR_RAIL_E_P1V1_VDDC_HBM1_HBM3_HBM5
Definition: plat_hook.h:156
@ UBC_VR_RAIL_E_P3V3
Definition: plat_hook.h:140
@ UBC_VR_RAIL_E_P0V75_MAX_PHY_N
Definition: plat_hook.h:143
@ UBC_VR_RAIL_E_P1V1_VDDC_HBM0_HBM2_HBM4
Definition: plat_hook.h:150
@ UBC_VR_RAIL_E_P1V8_VPP_HBM0_HBM2_HBM4
Definition: plat_hook.h:147
@ UBC_VR_RAIL_E_UBC1
Definition: plat_hook.h:138
@ UBC_VR_RAIL_E_P0V8_VDDA_PCIE
Definition: plat_hook.h:158
@ UBC_VR_RAIL_E_P1V8_VPP_HBM1_HBM3_HBM5
Definition: plat_hook.h:153
@ UBC_VR_RAIL_E_UBC2
Definition: plat_hook.h:139
@ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEA
Definition: plat_hook.h:152
@ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEB
Definition: plat_hook.h:154
@ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEA
Definition: plat_hook.h:146
@ UBC_VR_RAIL_E_P0V75_MAX_PHY_S
Definition: plat_hook.h:145
@ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM1_HBM3_HBM5
Definition: plat_hook.h:157
@ UBC_VR_RAIL_E_P0V85_PVDD
Definition: plat_hook.h:141
@ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM0_HBM2_HBM4
Definition: plat_hook.h:151
@ UBC_VR_RAIL_E_P0V4_VDDQL_HBM1_HBM3_HBM5
Definition: plat_hook.h:155
@ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEB
Definition: plat_hook.h:148
@ UBC_VR_RAIL_E_P0V75_PVDD_CH_S
Definition: plat_hook.h:144
@ UBC_VR_RAIL_E_P0V4_VDDQL_HBM0_HBM2_HBM4
Definition: plat_hook.h:149
#define VR_ASIC_P0V75_VDDPHY_HBM1_HBM3_HBM5_PWR_W
Definition: plat_pldm_sensor.h:208
#define VR_ASIC_P0V75_MAX_PHY_S_PWR_W
Definition: plat_pldm_sensor.h:154
#define VR_ASIC_P0V75_TRVDD_ZONEA_PWR_W
Definition: plat_pldm_sensor.h:159
#define VR_ASIC_P0V85_PVDD_PWR_W
Definition: plat_pldm_sensor.h:136
#define UBC2_P12V_PWR_W
Definition: plat_pldm_sensor.h:117
#define UBC1_P12V_PWR_W
Definition: plat_pldm_sensor.h:111
#define VR_ASIC_P0V75_PVDD_CH_S_PWR_W
Definition: plat_pldm_sensor.h:150
#define VR_ASIC_P1V1_VDDC_HBM0_HBM2_HBM4_PWR_W
Definition: plat_pldm_sensor.h:177
#define VR_ASIC_P1V8_VPP_HBM1_HBM3_HBM5_PWR_W
Definition: plat_pldm_sensor.h:190
#define VR_ASIC_P1V1_VDDC_HBM1_HBM3_HBM5_PWR_W
Definition: plat_pldm_sensor.h:204
#define VR_ASIC_P0V4_VDDQL_HBM0_HBM2_HBM4_PWR_W
Definition: plat_pldm_sensor.h:172
#define VR_ASIC_P0V75_MAX_PHY_N_PWR_W
Definition: plat_pldm_sensor.h:145
#define VR_ASIC_P1V8_VPP_HBM0_HBM2_HBM4_PWR_W
Definition: plat_pldm_sensor.h:163
#define VR_ASIC_P0V4_VDDQL_HBM1_HBM3_HBM5_PWR_W
Definition: plat_pldm_sensor.h:199
#define VR_ASIC_P0V75_PVDD_CH_N_PWR_W
Definition: plat_pldm_sensor.h:141
#define VR_ASIC_P1V2_VDDHTX_PCIE_PWR_W
Definition: plat_pldm_sensor.h:217
#define VR_ASIC_P0V9_TRVDD_ZONEB_PWR_W
Definition: plat_pldm_sensor.h:195
#define VR_ASIC_P0V9_TRVDD_ZONEA_PWR_W
Definition: plat_pldm_sensor.h:186
#define VR_ASIC_P0V8_VDDA_PCIE_PWR_W
Definition: plat_pldm_sensor.h:213
#define VR_ASIC_P0V75_VDDPHY_HBM0_HBM2_HBM4_PWR_W
Definition: plat_pldm_sensor.h:181
#define VR_ASIC_P0V75_TRVDD_ZONEB_PWR_W
Definition: plat_pldm_sensor.h:168
#define VR_P3V3_PWR_W
Definition: plat_pldm_sensor.h:131

◆ user_settings

vr_vout_user_settings user_settings = { 0 }

◆ voltage_command_get

struct vr_vout_user_settings voltage_command_get = { 0 }

◆ vout_range_user_settings

vr_vout_range_user_settings_struct vout_range_user_settings = { 0 }

◆ vr_pre_read_args

vr_pre_proc_arg vr_pre_read_args[]
Initial value:
= {
{ .mutex = vr_mutex + 0, .vr_page = 0x0 }, { .mutex = vr_mutex + 0, .vr_page = 0x1 },
{ .mutex = vr_mutex + 1, .vr_page = 0x0 }, { .mutex = vr_mutex + 1, .vr_page = 0x1 },
{ .mutex = vr_mutex + 2, .vr_page = 0x0 }, { .mutex = vr_mutex + 2, .vr_page = 0x1 },
{ .mutex = vr_mutex + 3, .vr_page = 0x0 }, { .mutex = vr_mutex + 3, .vr_page = 0x1 },
{ .mutex = vr_mutex + 4, .vr_page = 0x0 }, { .mutex = vr_mutex + 4, .vr_page = 0x1 },
{ .mutex = vr_mutex + 5, .vr_page = 0x0 }, { .mutex = vr_mutex + 5, .vr_page = 0x1 },
{ .mutex = vr_mutex + 6, .vr_page = 0x0 }, { .mutex = vr_mutex + 6, .vr_page = 0x1 },
{ .mutex = vr_mutex + 7, .vr_page = 0x0 }, { .mutex = vr_mutex + 7, .vr_page = 0x1 },
{ .mutex = vr_mutex + 8, .vr_page = 0x0 }, { .mutex = vr_mutex + 8, .vr_page = 0x1 },
{ .mutex = vr_mutex + 9, .vr_page = 0x0 }, { .mutex = vr_mutex + 9, .vr_page = 0x1 },
{ .mutex = vr_mutex + 10, .vr_page = 0x0 }, { .mutex = vr_mutex + 10, .vr_page = 0x1 }
}

◆ vr_rail_table

vr_mapping_sensor vr_rail_table[]

◆ vr_status_table

vr_mapping_status vr_status_table[]
Initial value:
= {
{ VR_STAUS_E_STATUS_CML, PMBUS_STATUS_CML, "STATUS_CML_PMBUS" },
}
@ VR_STAUS_E_STATUS_INPUT
Definition: plat_hook.h:72
@ VR_STAUS_E_STATUS_IOUT
Definition: plat_hook.h:71
@ VR_STAUS_E_STATUS_CML
Definition: plat_hook.h:74
@ VR_STAUS_E_STATUS_BYTE
Definition: plat_hook.h:68
@ VR_STAUS_E_STATUS_TEMPERATURE
Definition: plat_hook.h:73
@ VR_STAUS_E_STATUS_VOUT
Definition: plat_hook.h:70
@ VR_STAUS_E_STATUS_WORD
Definition: plat_hook.h:69
@ PMBUS_STATUS_WORD
Definition: pmbus.h:102
@ PMBUS_STATUS_IOUT
Definition: pmbus.h:104
@ PMBUS_STATUS_BYTE
Definition: pmbus.h:101
@ PMBUS_STATUS_CML
Definition: pmbus.h:107
@ PMBUS_STATUS_TEMPERATURE
Definition: pmbus.h:106
@ PMBUS_STATUS_VOUT
Definition: pmbus.h:103
@ PMBUS_STATUS_INPUT
Definition: pmbus.h:105