OpenBIC
OpenSource Bridge-IC
plat_hook.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef PLAT_HOOK_H
18#define PLAT_HOOK_H
19
20#include "sensor.h"
21
22#define VR_MAX_NUM 11
23#define VR_MUTEX_LOCK_TIMEOUT_MS 1000
24#define POWER_HISTORY_SIZE 10
25#define POWER_CAPPING_HC_DEFAULT 1000
26#define POWER_CAPPING_LC_DEFAULT 800
27#define POWER_CAPPING_ENABLE 1
28#define POWER_CAPPING_DISABLE 0
29#define POWER_CAPPING_AVERAGE_TIME_MS_DEFAULT 50 // 50ms
30#define POWER_CAPPING_HISTORY_SIZE 10
31#define THERMALTRIP_BIT BIT(0)
32#define ATH_GPIO_3_BIT BIT(4)
33#define ATH_GPIO_4_BIT BIT(5)
34
35#include "plat_pldm_sensor.h"
36
50};
51
74};
75
85};
86
95};
96
102
107
117};
118
144};
145
170};
171
179};
180
182 uint8_t index;
183 uint8_t *sensor_name;
186
190
192
199
201
205
207
211
213
217
219
223
225
226typedef struct vr_mapping_sensor {
227 uint8_t index;
228 uint8_t sensor_id;
229 uint8_t *sensor_name;
232
233typedef struct vr_vout_user_settings {
236
238
239typedef struct vr_mapping_status {
240 uint8_t index;
241 uint16_t pmbus_reg;
244
246
247typedef struct _vr_pre_proc_arg {
248 void *mutex;
249 uint8_t vr_page;
251
252typedef struct temp_mapping_sensor {
253 uint8_t index;
254 uint8_t sensor_id;
255 uint8_t *sensor_name;
257
258typedef struct power_sequence {
259 uint8_t index;
262 uint8_t value;
264
267extern size_t power_sequence_on_table_size;
269
274
278
280
282 uint8_t temp_index_threshold_type; //PLAT_TEMP_INDEX_THRESHOLD_TYPE_E
284 uint8_t sensor_id;
287
289
291 uint8_t index;
293 uint8_t *strap_name;
294 uint8_t bit_offset;
295 uint8_t bit_count;
301
303 uint8_t index;
304 uint8_t sensor_id;
305 uint8_t *sensor_name;
308
309bool get_temp_index_threshold_type(uint8_t temp_threshold_type, uint8_t sensor_id,
310 uint8_t *temp_index_threshold_type);
311bool plat_get_vout_range(uint8_t rail, uint16_t *vout_max_millivolt, uint16_t *vout_min_millivolt);
312bool plat_set_vout_range_min(uint8_t rail, uint16_t *millivolt);
313bool plat_set_vout_range_max(uint8_t rail, uint16_t *millivolt);
314bool temp_sensor_rail_name_get(uint8_t rail, uint8_t **name);
315bool temp_sensor_rail_enum_get(uint8_t *name, uint8_t *num);
316bool plat_get_temp_status(uint8_t rail, uint8_t *temp_status);
317bool plat_clear_temp_status(uint8_t rail);
318bool pre_vr_read(sensor_cfg *cfg, void *args);
319bool post_vr_read(sensor_cfg *cfg, void *args, int *const reading);
320bool perm_config_clear();
321bool is_mb_dc_on();
322void *vr_mutex_get(enum VR_INDEX_E vr_index);
323void vr_mutex_init(void);
324bool vr_rail_name_get(uint8_t rail, uint8_t **name);
325bool vr_rail_enum_get(uint8_t *name, uint8_t *num);
326int power_level_send_event(bool is_assert, int ubc1_current, int ubc2_current);
327bool post_ubc_read(sensor_cfg *cfg, void *args, int *reading);
328bool post_all_sensor_read(sensor_cfg *cfg, void *args, int *reading);
329void set_uart_power_event_is_enable(bool is_enable);
330void pwr_level_mutex_init(void);
331void set_alert_level_to_default_or_user_setting(bool is_default, int32_t user_setting);
334int get_alert_level_info(bool *is_assert, int32_t *default_value, int32_t *setting_value);
337bool vr_rail_voltage_peak_get(uint8_t *name, int *peak_value);
338bool vr_rail_voltage_peak_clear(uint8_t rail_index);
340void user_settings_init(void);
341bool temp_index_threshold_type_name_get(uint8_t type, uint8_t **name);
342bool temp_threshold_type_enum_get(uint8_t *name, uint8_t *num);
343bool plat_get_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius);
344bool plat_set_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius,
345 bool is_default, bool is_perm);
346bool plat_get_vout_command(uint8_t rail, uint16_t *millivolt);
347bool plat_set_vout_command(uint8_t rail, uint16_t *millivolt, bool is_default, bool is_perm);
348bool plat_get_vr_status(uint8_t rail, uint8_t vr_status_rail, uint16_t *vr_status);
349bool plat_clear_vr_status(uint8_t rail);
350bool vr_status_name_get(uint8_t rail, uint8_t **name);
351bool vr_status_enum_get(uint8_t *name, uint8_t *num);
355bool set_thermaltrip_user_settings(uint8_t *thermaltrip_status_reg, bool is_perm);
357bool set_throttle_user_settings(uint8_t *throttle_status_reg, bool is_perm);
359bool set_ath_gpio_user_settings(uint8_t *ath_gpio_status_reg, bool is_perm);
360bool strap_name_get(uint8_t rail, uint8_t **name);
361bool strap_enum_get(uint8_t *name, uint8_t *num);
362void init_temp_alert_mode(void);
363bool find_bootstrap_by_rail(uint8_t rail, bootstrap_mapping_register *result);
364bool set_bootstrap_table_and_user_settings(uint8_t rail, uint8_t *change_setting_value,
365 uint8_t drive_index_level, bool is_perm,
366 bool is_default);
367bool get_bootstrap_change_drive_level(int rail, int *drive_level);
368void init_temp_limit(void);
369bool ubc_vr_rail_name_get(uint8_t rail, uint8_t **name);
370bool ubc_vr_rail_enum_get(uint8_t *name, uint8_t *num);
371bool get_average_power(uint8_t rail, uint32_t *milliwatt);
372bool voltage_command_setting_get(uint8_t rail, uint16_t *vout);
373bool power_capping_rail_name_get(uint8_t rail, uint8_t **name);
374bool power_capping_rail_enum_get(uint8_t *name, uint8_t *num);
375bool plat_set_power_capping_command(uint8_t rail, uint16_t *set_value, bool is_perm);
376bool plat_get_power_capping_command(uint8_t rail, uint16_t *set_value);
377
378#endif
vr_pre_proc_arg vr_pre_read_args[]
Definition: plat_hook.c:990
bool is_mb_dc_on()
Definition: plat_hook.c:1327
struct _vr_pre_proc_arg vr_pre_proc_arg
bool pre_vr_read(sensor_cfg *cfg, void *args)
Definition: plat_hook.c:1016
struct vr_mapping_status vr_mapping_status
struct bootstrap_user_settings_struct bootstrap_user_settings_struct
bool power_capping_rail_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:2651
struct temp_mapping_sensor temp_mapping_sensor
struct power_capping_mapping_sensor power_capping_mapping_sensor
power_sequence power_sequence_off_table[]
Definition: plat_hook.c:361
bool set_ath_gpio_user_settings(uint8_t *ath_gpio_status_reg, bool is_perm)
Definition: plat_hook.c:1538
vr_mapping_sensor vr_rail_table[]
Definition: plat_hook.c:773
void set_uart_power_event_is_enable(bool is_enable)
Definition: plat_hook.c:1888
bool plat_set_power_capping_command(uint8_t rail, uint16_t *set_value, bool is_perm)
Definition: plat_hook.c:2774
bool get_user_settings_thermaltrip_from_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1402
bool plat_get_vout_command(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:2089
struct vr_vout_user_settings vr_vout_user_settings
struct power_capping_user_settings_struct power_capping_user_settings_struct
bool voltage_command_setting_get(uint8_t rail, uint16_t *vout)
Definition: plat_hook.c:865
bool set_thermaltrip_user_settings(uint8_t *thermaltrip_status_reg, bool is_perm)
Definition: plat_hook.c:1454
throttle_user_settings_struct throttle_user_settings
Definition: plat_hook.c:1567
bootstrap_user_settings_struct bootstrap_user_settings
Definition: plat_hook.c:472
size_t power_sequence_on_table_size
Definition: plat_hook.c:405
bool plat_set_vout_range_max(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:956
POWER_CAPPING_INDEX_E
Definition: plat_hook.h:172
@ POWER_CAPPING_INDEX_LC
Definition: plat_hook.h:174
@ POWER_CAPPING_INDEX_HC
Definition: plat_hook.h:173
@ POWER_CAPPING_INDEX_SWITCH
Definition: plat_hook.h:176
@ POWER_CAPPING_INDEX_MAX
Definition: plat_hook.h:178
@ POWER_CAPPING_INDEX_INTERVAL
Definition: plat_hook.h:175
@ POWER_CAPPING_INDEX_AVERAGE
Definition: plat_hook.h:177
bool get_user_settings_ath_gpio_from_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1486
#define POWER_HISTORY_SIZE
Definition: plat_hook.h:24
bool temp_sensor_rail_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:408
bool vr_vout_user_settings_init(void)
Definition: plat_hook.c:1158
void vr_mutex_init(void)
Definition: plat_hook.c:758
bool post_ubc_read(sensor_cfg *cfg, void *args, int *reading)
Definition: plat_hook.c:166
int get_user_settings_alert_level_from_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1095
struct vr_mapping_sensor vr_mapping_sensor
struct thermaltrip_user_settings_struct thermaltrip_user_settings_struct
UBC_VR_RAIL_E
Definition: plat_hook.h:146
@ UBC_VR_RAIL_E_P0V75_PVDD_CH_N
Definition: plat_hook.h:151
@ UBC_VR_RAIL_E_P1V2_VDDHTX_PCIE
Definition: plat_hook.h:168
@ UBC_VR_RAIL_E_P1V1_VDDC_HBM1_HBM3_HBM5
Definition: plat_hook.h:165
@ UBC_VR_RAIL_E_P3V3
Definition: plat_hook.h:149
@ UBC_VR_RAIL_E_P0V75_MAX_PHY_N
Definition: plat_hook.h:152
@ UBC_VR_RAIL_E_P1V1_VDDC_HBM0_HBM2_HBM4
Definition: plat_hook.h:159
@ UBC_VR_RAIL_E_P1V8_VPP_HBM0_HBM2_HBM4
Definition: plat_hook.h:156
@ UBC_VR_RAIL_E_UBC1
Definition: plat_hook.h:147
@ UBC_VR_RAIL_E_P0V8_VDDA_PCIE
Definition: plat_hook.h:167
@ UBC_VR_RAIL_E_MAX
Definition: plat_hook.h:169
@ UBC_VR_RAIL_E_P1V8_VPP_HBM1_HBM3_HBM5
Definition: plat_hook.h:162
@ UBC_VR_RAIL_E_UBC2
Definition: plat_hook.h:148
@ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEA
Definition: plat_hook.h:161
@ UBC_VR_RAIL_E_P0V9_TRVDD_ZONEB
Definition: plat_hook.h:163
@ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEA
Definition: plat_hook.h:155
@ UBC_VR_RAIL_E_P0V75_MAX_PHY_S
Definition: plat_hook.h:154
@ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM1_HBM3_HBM5
Definition: plat_hook.h:166
@ UBC_VR_RAIL_E_P0V85_PVDD
Definition: plat_hook.h:150
@ UBC_VR_RAIL_E_P0V75_VDDPHY_HBM0_HBM2_HBM4
Definition: plat_hook.h:160
@ UBC_VR_RAIL_E_P0V4_VDDQL_HBM1_HBM3_HBM5
Definition: plat_hook.h:164
@ UBC_VR_RAIL_E_P0V75_TRVDD_ZONEB
Definition: plat_hook.h:157
@ UBC_VR_RAIL_E_P0V75_PVDD_CH_S
Definition: plat_hook.h:153
@ UBC_VR_RAIL_E_P0V4_VDDQL_HBM0_HBM2_HBM4
Definition: plat_hook.h:158
PLAT_TEMP_INDEX_E
Definition: plat_hook.h:87
@ TEMP_INDEX_ON_DIE_ATH_1_S_OWL
Definition: plat_hook.h:89
@ TEMP_INDEX_BOT_OUTLET
Definition: plat_hook.h:93
@ TEMP_INDEX_MAX
Definition: plat_hook.h:94
@ TEMP_INDEX_BOT_INLET
Definition: plat_hook.h:92
@ TEMP_INDEX_TOP_OUTLET
Definition: plat_hook.h:91
@ TEMP_INDEX_ON_DIE_ATH_0_N_OWL
Definition: plat_hook.h:88
@ TEMP_INDEX_TOP_INLET
Definition: plat_hook.h:90
PLAT_TEMP_INDEX_THRESHOLD_TYPE_E
Definition: plat_hook.h:97
@ DIE_ATH_1_S_OWL_REMOTE_2_HIGH_LIMIT
Definition: plat_hook.h:105
@ BOT_INLET_LOW_LIMIT
Definition: plat_hook.h:112
@ DIE_ATH_1_S_OWL_REMOTE_2_LOW_LIMIT
Definition: plat_hook.h:106
@ PLAT_TEMP_INDEX_THRESHOLD_TYPE_MAX
Definition: plat_hook.h:116
@ TOP_OUTLET_HIGH_LIMIT
Definition: plat_hook.h:111
@ DIE_ATH_1_S_OWL_REMOTE_1_LOW_LIMIT
Definition: plat_hook.h:101
@ DIE_ATH_1_S_OWL_REMOTE_1_HIGH_LIMIT
Definition: plat_hook.h:100
@ DIE_ATH_0_N_OWL_REMOTE_2_HIGH_LIMIT
Definition: plat_hook.h:103
@ DIE_ATH_0_N_OWL_REMOTE_1_LOW_LIMIT
Definition: plat_hook.h:99
@ BOT_OUTLET_HIGH_LIMIT
Definition: plat_hook.h:115
@ BOT_OUTLET_LOW_LIMIT
Definition: plat_hook.h:114
@ TOP_INLET_HIGH_LIMIT
Definition: plat_hook.h:109
@ TOP_OUTLET_LOW_LIMIT
Definition: plat_hook.h:110
@ TOP_INLET_LOW_LIMIT
Definition: plat_hook.h:108
@ DIE_ATH_0_N_OWL_REMOTE_1_HIGH_LIMIT
Definition: plat_hook.h:98
@ BOT_INLET_HIGH_LIMIT
Definition: plat_hook.h:113
@ DIE_ATH_0_N_OWL_REMOTE_2_LOW_LIMIT
Definition: plat_hook.h:104
bool temp_sensor_rail_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:421
struct temp_threshold_mapping_sensor temp_threshold_mapping_sensor
ath_gpio_user_settings_struct ath_gpio_user_settings
Definition: plat_hook.c:1483
bool vr_rail_voltage_peak_get(uint8_t *name, int *peak_value)
Definition: plat_hook.c:1938
bool find_bootstrap_by_rail(uint8_t rail, bootstrap_mapping_register *result)
Definition: plat_hook.c:503
bool vr_vout_user_settings_get(void *user_settings)
Definition: plat_hook.c:972
VR_RAIL_E
Definition: plat_hook.h:52
@ VR_RAIL_E_P0V8_VDDA_PCIE
Definition: plat_hook.h:71
@ VR_RAIL_E_P0V4_VDDQL_HBM1_HBM3_HBM5
Definition: plat_hook.h:68
@ VR_RAIL_E_P0V75_VDDPHY_HBM1_HBM3_HBM5
Definition: plat_hook.h:70
@ VR_RAIL_E_P0V75_TRVDD_ZONEA
Definition: plat_hook.h:59
@ VR_RAIL_E_P1V1_VDDC_HBM0_HBM2_HBM4
Definition: plat_hook.h:63
@ VR_RAIL_E_P0V85_PVDD
Definition: plat_hook.h:54
@ VR_RAIL_E_P3V3
Definition: plat_hook.h:53
@ VR_RAIL_E_P0V75_TRVDD_ZONEB
Definition: plat_hook.h:61
@ VR_RAIL_E_P1V8_VPP_HBM0_HBM2_HBM4
Definition: plat_hook.h:60
@ VR_RAIL_E_P0V75_PVDD_CH_S
Definition: plat_hook.h:57
@ VR_RAIL_E_P0V75_VDDPHY_HBM0_HBM2_HBM4
Definition: plat_hook.h:64
@ VR_RAIL_E_P0V75_PVDD_CH_N
Definition: plat_hook.h:55
@ VR_RAIL_E_P0V75_MAX_PHY_S
Definition: plat_hook.h:58
@ VR_RAIL_E_P0V9_TRVDD_ZONEB
Definition: plat_hook.h:67
@ VR_RAIL_E_MAX
Definition: plat_hook.h:73
@ VR_RAIL_E_P1V2_VDDHTX_PCIE
Definition: plat_hook.h:72
@ VR_RAIL_E_P1V1_VDDC_HBM1_HBM3_HBM5
Definition: plat_hook.h:69
@ VR_RAIL_E_P0V9_TRVDD_ZONEA
Definition: plat_hook.h:65
@ VR_RAIL_E_P0V75_MAX_PHY_N
Definition: plat_hook.h:56
@ VR_RAIL_E_P1V8_VPP_HBM1_HBM3_HBM5
Definition: plat_hook.h:66
@ VR_RAIL_E_P0V4_VDDQL_HBM0_HBM2_HBM4
Definition: plat_hook.h:62
bool plat_get_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius)
Definition: plat_hook.c:2324
bool vr_rail_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:825
VR_INDEX_E
Definition: plat_hook.h:37
@ VR_INDEX_E_P1V1_VDDC_HBM0_HBM2_HBM4
Definition: plat_hook.h:44
@ VR_INDEX_E_P0V85
Definition: plat_hook.h:39
@ VR_INDEX_E_P0V75_CH_S
Definition: plat_hook.h:41
@ VR_INDEX_E_P3V3
Definition: plat_hook.h:38
@ VR_INDEX_E_P0V9_TRVDD_ZONEA
Definition: plat_hook.h:45
@ VR_INDEX_E_P0V75_TRVDD_ZONEA
Definition: plat_hook.h:42
@ VR_INDEX_E_P0V75_CH_N
Definition: plat_hook.h:40
@ VR_INDEX_E_P0V8_VDDA_PCIE
Definition: plat_hook.h:48
@ VR_INDEX_E_P0V9_TRVDD_ZONEB
Definition: plat_hook.h:46
@ VR_INDEX_E_P0V75_TRVDD_ZONEB
Definition: plat_hook.h:43
@ VR_INDEX_E_P1V1_VDDC_HBM1_HBM3_HBM5
Definition: plat_hook.h:47
@ VR_INDEX_MAX
Definition: plat_hook.h:49
void init_temp_alert_mode(void)
Definition: plat_hook.c:2439
bool get_user_settings_soc_pcie_perst_from_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1049
bool plat_set_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius, bool is_default, bool is_perm)
Definition: plat_hook.c:2372
struct power_sequence power_sequence
bool vr_rail_voltage_peak_clear(uint8_t rail_index)
Definition: plat_hook.c:1953
struct vr_vout_range_user_settings_struct vr_vout_range_user_settings_struct
vr_vout_range_user_settings_struct vout_range_user_settings
Definition: plat_hook.c:862
power_capping_user_settings_struct power_capping_user_settings
Definition: plat_hook.c:2636
bool get_user_settings_throttle_from_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1570
struct temp_threshold_user_settings_struct temp_threshold_user_settings_struct
bool plat_get_vout_range(uint8_t rail, uint16_t *vout_max_millivolt, uint16_t *vout_min_millivolt)
Definition: plat_hook.c:910
bool set_user_settings_soc_pcie_perst_to_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1023
bool vr_status_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:894
bool plat_clear_temp_status(uint8_t rail)
Definition: plat_hook.c:2287
bool ubc_vr_rail_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:108
bool power_capping_rail_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:2638
bool plat_set_vout_command(uint8_t rail, uint16_t *millivolt, bool is_default, bool is_perm)
Definition: plat_hook.c:2151
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)
Definition: plat_hook.c:1657
bool post_vr_read(sensor_cfg *cfg, void *args, int *const reading)
Definition: plat_hook.c:557
thermaltrip_user_settings_struct thermaltrip_user_settings
Definition: plat_hook.c:1399
struct throttle_user_settings_struct throttle_user_settings_struct
bool get_bootstrap_change_drive_level(int rail, int *drive_level)
Definition: plat_hook.c:1873
bool vr_rail_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:878
bool temp_index_threshold_type_name_get(uint8_t type, uint8_t **name)
Definition: plat_hook.c:1226
bool strap_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:487
struct ath_gpio_user_settings_struct ath_gpio_user_settings_struct
bool get_temp_index_threshold_type(uint8_t temp_threshold_type, uint8_t sensor_id, uint8_t *temp_index_threshold_type)
Definition: plat_hook.c:2593
int set_user_settings_alert_level_to_eeprom(void *user_settings, uint8_t data_length)
Definition: plat_hook.c:1072
bool temp_threshold_type_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:1239
void init_temp_limit(void)
Definition: plat_hook.c:2501
bool vr_vout_default_settings_init(void)
Definition: plat_hook.c:1181
PLAT_STRAP_INDEX_E
Definition: plat_hook.h:119
@ STRAP_INDEX_S_OWL_DFT_TAP_EN_L
Definition: plat_hook.h:133
@ STRAP_INDEX_N_OWL_DFT_TAP_EN_L
Definition: plat_hook.h:137
@ STRAP_INDEX_SOC_BOOT_SOURCE_0_4
Definition: plat_hook.h:125
@ STRAP_INDEX_N_OWL_CORE_TAP_CTRL_L
Definition: plat_hook.h:138
@ STRAP_INDEX_S_OWL_BOOT_SOURCE_0_7
Definition: plat_hook.h:129
@ STRAP_INDEX_SOC_ATPG_MODE_L
Definition: plat_hook.h:122
@ STRAP_INDEX_N_OWL_ATPG_MODE_L
Definition: plat_hook.h:136
@ STRAP_INDEX_N_OWL_PAD_TRI_N
Definition: plat_hook.h:135
@ STRAP_INDEX_S_OWL_CORE_TAP_CTRL_L
Definition: plat_hook.h:134
@ STRAP_INDEX_SOC_GPIO2
Definition: plat_hook.h:128
@ STRAP_INDEX_SOC_PAD_TRI_N
Definition: plat_hook.h:123
@ STRAP_INDEX_SOC_BOOT_SOURCE_7
Definition: plat_hook.h:127
@ STRAP_INDEX_SOC_CORE_TAP_CTRL_L
Definition: plat_hook.h:124
@ STRAP_INDEX_SOC_JTAG_MUX_SEL_0_3
Definition: plat_hook.h:120
@ STRAP_INDEX_SOC_BOOT_SOURCE_5_6
Definition: plat_hook.h:126
@ STRAP_INDEX_S_OWL_UART_MUX_SEL_0_2
Definition: plat_hook.h:141
@ STRAP_INDEX_SOC_DFT_TAP_EN_L
Definition: plat_hook.h:121
@ STRAP_INDEX_N_OWL_BOOT_SOURCE_0_7
Definition: plat_hook.h:130
@ STRAP_INDEX_N_OWL_UART_MUX_SEL_0_2
Definition: plat_hook.h:142
@ STRAP_INDEX_S_OWL_ATPG_MODE_L
Definition: plat_hook.h:132
@ STRAP_INDEX_N_OWL_JTAG_MUX_SEL_0_3
Definition: plat_hook.h:140
@ STRAP_INDEX_S_OWL_JTAG_MUX_SEL_0_3
Definition: plat_hook.h:139
@ STRAP_INDEX_MAX
Definition: plat_hook.h:143
@ STRAP_INDEX_S_OWL_PAD_TRI_N
Definition: plat_hook.h:131
bool perm_config_clear()
Definition: plat_hook.c:3008
bool set_throttle_user_settings(uint8_t *throttle_status_reg, bool is_perm)
Definition: plat_hook.c:1622
void user_settings_init(void)
Definition: plat_hook.c:3084
bool plat_clear_vr_status(uint8_t rail)
Definition: plat_hook.c:2029
temp_threshold_user_settings_struct temp_threshold_user_settings
Definition: plat_hook.c:746
size_t power_sequence_off_table_size
Definition: plat_hook.c:406
bool strap_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:474
bool get_average_power(uint8_t rail, uint32_t *milliwatt)
Definition: plat_hook.c:669
bool plat_get_power_capping_command(uint8_t rail, uint16_t *set_value)
Definition: plat_hook.c:2811
temp_threshold_mapping_sensor temp_threshold_table[]
struct ubc_vr_power_mapping_sensor ubc_vr_power_mapping_sensor
void * vr_mutex_get(enum VR_INDEX_E vr_index)
Definition: plat_hook.c:515
struct bootstrap_mapping_register bootstrap_mapping_register
bool ubc_vr_rail_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:95
bool plat_get_vr_status(uint8_t rail, uint8_t vr_status_rail, uint16_t *vr_status)
Definition: plat_hook.c:1964
int get_alert_level_info(bool *is_assert, int32_t *default_value, int32_t *setting_value)
Definition: plat_hook.c:1921
VR_STAUS_E
Definition: plat_hook.h:76
@ VR_STAUS_E_STATUS_INPUT
Definition: plat_hook.h:81
@ VR_STAUS_E_STATUS_IOUT
Definition: plat_hook.h:80
@ VR_STAUS_E_STATUS_CML
Definition: plat_hook.h:83
@ VR_STAUS_E_MAX
Definition: plat_hook.h:84
@ VR_STAUS_E_STATUS_BYTE
Definition: plat_hook.h:77
@ VR_STAUS_E_STATUS_TEMPERATURE
Definition: plat_hook.h:82
@ VR_STAUS_E_STATUS_VOUT
Definition: plat_hook.h:79
@ VR_STAUS_E_STATUS_WORD
Definition: plat_hook.h:78
bool vr_status_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:838
void pwr_level_mutex_init(void)
Definition: plat_hook.c:1899
bool plat_set_vout_range_min(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:940
bool plat_get_temp_status(uint8_t rail, uint8_t *temp_status)
Definition: plat_hook.c:2226
power_sequence power_sequence_on_table[]
Definition: plat_hook.c:316
vr_vout_user_settings user_settings
Definition: plat_hook.c:860
int power_level_send_event(bool is_assert, int ubc1_current, int ubc2_current)
Definition: plat_hook.c:138
void set_alert_level_to_default_or_user_setting(bool is_default, int32_t user_setting)
Definition: plat_hook.c:1906
bool post_all_sensor_read(sensor_cfg *cfg, void *args, int *reading)
Definition: plat_hook.c:155
uint8_t type
Definition: pldm_base.h:0
uint8_t reading[1]
Definition: pldm_monitor.h:3
uint16_t sensor_id
Definition: pldm_monitor.h:0
uint8_t set_value
Definition: pldm_oem.h:1
uint32_t data_length
Definition: pldm_oem.h:1
Definition: sensor.h:263
Definition: plat_hook.h:22
uint8_t vr_page
Definition: plat_hook.h:25
void * mutex
Definition: plat_hook.h:248
Definition: plat_hook.h:220
uint8_t ath_gpio_user_setting_value
Definition: plat_hook.h:221
Definition: plat_hook.h:290
uint8_t * strap_name
Definition: plat_hook.h:293
uint8_t default_setting_value
Definition: plat_hook.h:296
uint8_t bit_offset
Definition: plat_hook.h:294
uint8_t cpld_offsets
Definition: plat_hook.h:292
uint8_t index
Definition: plat_hook.h:291
uint8_t * strap_name_comment
Definition: plat_hook.h:299
bool reverse
Definition: plat_hook.h:298
uint8_t change_setting_value
Definition: plat_hook.h:297
uint8_t bit_count
Definition: plat_hook.h:295
Definition: plat_hook.h:202
uint16_t user_setting_value[STRAP_INDEX_MAX]
Definition: plat_hook.h:203
Definition: sensor.h:797
Definition: sensor.h:793
Definition: sensor.h:802
Definition: plat_hook.h:181
uint8_t index
Definition: plat_hook.h:182
uint16_t change_setting_value
Definition: plat_hook.h:184
uint8_t * sensor_name
Definition: plat_hook.h:183
Definition: plat_hook.h:187
uint16_t user_setting_value[POWER_CAPPING_INDEX_MAX]
Definition: plat_hook.h:188
Definition: plat_hook.h:258
uint8_t cpld_offsets
Definition: plat_hook.h:260
uint8_t index
Definition: plat_hook.h:259
uint8_t value
Definition: plat_hook.h:262
uint8_t * power_rail_name
Definition: plat_hook.h:261
Definition: plat_hook.h:252
uint8_t index
Definition: plat_hook.h:253
uint8_t * sensor_name
Definition: plat_hook.h:255
uint8_t sensor_id
Definition: plat_hook.h:254
Definition: plat_hook.h:281
uint8_t sensor_id
Definition: plat_hook.h:284
uint8_t temp_threshold_type
Definition: plat_hook.h:283
uint8_t temp_index_threshold_type
Definition: plat_hook.h:282
uint8_t * temp_threshold_name
Definition: plat_hook.h:285
Definition: plat_hook.h:275
uint32_t temperature_reg_val[PLAT_TEMP_INDEX_THRESHOLD_TYPE_MAX]
Definition: plat_hook.h:276
Definition: plat_hook.h:208
uint8_t thermaltrip_user_setting_value
Definition: plat_hook.h:209
Definition: plat_hook.h:214
uint8_t throttle_user_setting_value
Definition: plat_hook.h:215
Definition: plat_hook.h:302
uint8_t sensor_id
Definition: plat_hook.h:304
uint8_t * sensor_name
Definition: plat_hook.h:305
uint8_t index
Definition: plat_hook.h:303
uint32_t power_history[POWER_HISTORY_SIZE]
Definition: plat_hook.h:306
Definition: plat_hook.h:226
int peak_value
Definition: plat_hook.h:230
uint8_t sensor_id
Definition: plat_hook.h:228
uint8_t * sensor_name
Definition: plat_hook.h:229
uint8_t index
Definition: plat_hook.h:227
Definition: plat_hook.h:239
uint8_t * vr_status_name
Definition: plat_hook.h:242
uint16_t pmbus_reg
Definition: plat_hook.h:241
uint8_t index
Definition: plat_hook.h:240
Definition: plat_hook.h:193
uint16_t change_vout_min[STRAP_INDEX_MAX]
Definition: plat_hook.h:197
uint16_t change_vout_max[STRAP_INDEX_MAX]
Definition: plat_hook.h:196
uint16_t default_vout_max[STRAP_INDEX_MAX]
Definition: plat_hook.h:194
uint16_t default_vout_min[STRAP_INDEX_MAX]
Definition: plat_hook.h:195
Definition: plat_hook.h:233
uint16_t vout[VR_RAIL_E_MAX]
Definition: plat_hook.h:234
name
Definition: plat_i2c.h:24