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#include "plat_pldm_sensor.h"
22
23#define VR_MUTEX_LOCK_TIMEOUT_MS 1000
24
26
40 VR_INDEX_E_13, // P3V3 OSFP
42};
43
69};
97};
98
108};
109
110typedef struct vr_mapping_status {
111 uint8_t index;
112 uint16_t pmbus_reg;
113 uint8_t *vr_status_name;
115
116typedef struct _vr_pre_proc_arg {
117 void *mutex;
118 uint8_t vr_page;
120
121typedef struct vr_mapping_sensor {
122 uint8_t index;
123 uint8_t sensor_id;
124 uint8_t *sensor_name;
125 int peak_value;
127
191};
192
198};
199
212};
213
220typedef struct vr_vout_user_settings {
221 uint16_t vout[VR_RAIL_E_MAX];
223typedef struct bootstrap_mapping_register {
224 uint8_t index;
225 uint8_t type;
226 uint8_t cpld_offsets;
227 uint8_t *strap_name;
228 uint8_t bit_offset;
229 uint8_t bit_count;
230 uint8_t default_setting_value;
231 uint8_t change_setting_value;
232 bool reverse;
234typedef struct bootstrap_user_settings_struct {
237
238#define OVP2_ACTION_NO_ACTION 0x00 /* 2'b00 */
239#define OVP2_ACTION_LATCH_OFF 0x01 /* 2'b01 */
240#define OVP2_ACTION_UNKNOWN 0xFF
241
247void set_bootstrap_table_change_setting_value(uint8_t index, uint8_t value);
248bool pre_vr_read(sensor_cfg *cfg, void *args);
249bool post_vr_read(sensor_cfg *cfg, void *args, int *const reading);
250bool is_mb_dc_on();
251void *vr_mutex_get(enum VR_INDEX_E vr_index);
252void vr_mutex_init(void);
253bool vr_rail_name_get(uint8_t rail, uint8_t **name);
254bool vr_status_name_get(uint8_t rail, uint8_t **name);
255bool vr_rail_enum_get(uint8_t *name, uint8_t *num);
256bool vr_status_enum_get(uint8_t *name, uint8_t *num);
257bool plat_get_vr_status(uint8_t rail, uint8_t vr_status_rail, uint16_t *vr_status);
258bool plat_clear_vr_status(uint8_t rail);
259bool plat_get_vout_command(uint8_t rail, uint16_t *millivolt);
260bool plat_set_vout_command(uint8_t rail, uint16_t *millivolt);
261bool vr_rail_voltage_peak_get(uint8_t *name, int *peak_value);
262bool vr_rail_voltage_peak_clear(uint8_t rail_index);
263bool plat_set_vout_range_min(uint8_t rail, uint16_t *millivolt);
264bool plat_set_vout_range_max(uint8_t rail, uint16_t *millivolt);
266void user_settings_init(void);
269bool plat_get_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius);
272bool set_bootstrap_table_and_user_settings(uint8_t rail, uint8_t *change_setting_value,
273 uint8_t drive_index_level, bool is_perm,
274 bool is_default);
275bool strap_name_get(uint8_t rail, uint8_t **name);
276bool strap_enum_get(uint8_t *name, uint8_t *num);
277bool get_bootstrap_change_drive_level(int rail, int *drive_level);
278bool find_bootstrap_by_rail(uint8_t rail, bootstrap_mapping_register *result);
279bool post_common_sensor_read(sensor_cfg *cfg, void *args, int *const reading);
280bool voltage_command_setting_get(uint8_t rail, uint16_t *vout);
281bool post_sensor_reading_hook_func(uint8_t sensor_number);
282bool post_ubc_read(sensor_cfg *cfg, void *args, int *reading);
286bool set_bootstrap_val_to_device(uint8_t strap, uint8_t val);
287uint8_t get_strap_index_max();
288bool post_tmp432_read(sensor_cfg *cfg, void *args, int *reading);
289bool plat_set_vr_reg(uint8_t rail, uint8_t reg, uint8_t *data, uint8_t len);
290int get_vr_page(uint8_t rail);
291int get_vr_mp29816a_reg(uint8_t rail, uint16_t *get_data, uint8_t get_reg);
292int set_vr_mp29816a_reg(uint8_t rail, uint16_t *set_value, uint8_t set_reg);
293int get_vr_mp2971_reg(uint8_t rail, uint16_t *get_data, uint8_t get_reg);
294int set_vr_mp2971_reg(uint8_t rail, uint16_t *set_data, uint8_t set_reg);
295#endif
uint32_t val
Definition: plat_util.c:43
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
uint8_t data[]
Definition: isl69259.c:2
struct vr_mapping_status vr_mapping_status
struct bootstrap_user_settings_struct bootstrap_user_settings_struct
vr_mapping_sensor vr_rail_table[]
Definition: plat_hook.c:779
bool plat_get_vout_command(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:2213
struct vr_vout_user_settings vr_vout_user_settings
bool voltage_command_setting_get(uint8_t rail, uint16_t *vout)
Definition: plat_hook.c:915
bootstrap_user_settings_struct bootstrap_user_settings
Definition: plat_hook.c:478
bool plat_set_vout_range_max(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:1006
void vr_mutex_init(void)
Definition: plat_hook.c:764
bool post_ubc_read(sensor_cfg *cfg, void *args, int *reading)
Definition: plat_hook.c:172
struct vr_mapping_sensor vr_mapping_sensor
UBC_VR_RAIL_E
Definition: plat_hook.h:146
@ UBC_VR_RAIL_E_UBC1
Definition: plat_hook.h:147
@ UBC_VR_RAIL_E_MAX
Definition: plat_hook.h:169
@ UBC_VR_RAIL_E_UBC2
Definition: plat_hook.h:148
bool vr_rail_voltage_peak_get(uint8_t *name, int *peak_value)
Definition: plat_hook.c:1988
bool find_bootstrap_by_rail(uint8_t rail, bootstrap_mapping_register *result)
Definition: plat_hook.c:509
bool vr_vout_user_settings_get(void *user_settings)
Definition: plat_hook.c:1022
VR_RAIL_E
Definition: plat_hook.h:52
@ VR_RAIL_E_MAX
Definition: plat_hook.h:73
bool plat_get_temp_threshold(uint8_t temp_index_threshold_type, uint32_t *millidegree_celsius)
Definition: plat_hook.c:2448
bool vr_rail_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:875
VR_INDEX_E
Definition: plat_hook.h:37
@ VR_INDEX_MAX
Definition: plat_hook.h:49
bool vr_rail_voltage_peak_clear(uint8_t rail_index)
Definition: plat_hook.c:2003
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:912
bool vr_status_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:944
bool plat_set_vout_command(uint8_t rail, uint16_t *millivolt, bool is_default, bool is_perm)
Definition: plat_hook.c:2275
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:1707
bool post_vr_read(sensor_cfg *cfg, void *args, int *const reading)
Definition: plat_hook.c:563
bool get_bootstrap_change_drive_level(int rail, int *drive_level)
Definition: plat_hook.c:1923
bool vr_rail_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:928
bool strap_enum_get(uint8_t *name, uint8_t *num)
Definition: plat_hook.c:493
PLAT_STRAP_INDEX_E
Definition: plat_hook.h:119
@ STRAP_INDEX_MAX
Definition: plat_hook.h:143
void user_settings_init(void)
Definition: plat_hook.c:3208
bool plat_clear_vr_status(uint8_t rail)
Definition: plat_hook.c:2117
temp_threshold_user_settings_struct temp_threshold_user_settings
Definition: plat_hook.c:752
bool strap_name_get(uint8_t rail, uint8_t **name)
Definition: plat_hook.c:480
void * vr_mutex_get(enum VR_INDEX_E vr_index)
Definition: plat_hook.c:521
struct bootstrap_mapping_register bootstrap_mapping_register
bool plat_get_vr_status(uint8_t rail, uint8_t vr_status_rail, uint16_t *vr_status)
Definition: plat_hook.c:2014
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:888
bool plat_set_vout_range_min(uint8_t rail, uint16_t *millivolt)
Definition: plat_hook.c:990
vr_vout_user_settings user_settings
Definition: plat_hook.c:910
uint8_t reading[1]
Definition: pldm_monitor.h:3
uint8_t set_value
Definition: pldm_oem.h:1
int set_vr_mp29816a_reg(uint8_t rail, uint16_t *set_value, uint8_t set_reg)
Definition: plat_hook.c:1216
bool plat_set_vr_reg(uint8_t rail, uint8_t reg, uint8_t *data, uint8_t len)
Definition: plat_hook.c:1174
uint8_t get_strap_index_max()
Definition: plat_hook.c:1168
bootstrap_mapping_register bootstrap_table[]
Definition: plat_hook.c:444
bool vr_vout_range_user_settings_init(void)
Definition: plat_hook.c:735
bool set_ioexp_val_to_bootstrap_table(void)
Definition: plat_hook.c:824
bool post_common_sensor_read(sensor_cfg *cfg, void *args, int *const reading)
Definition: plat_hook.c:112
int set_vr_mp2971_reg(uint8_t rail, uint16_t *set_data, uint8_t set_reg)
Definition: plat_hook.c:1449
bool post_sensor_reading_hook_func(uint8_t sensor_number)
Definition: plat_hook.c:64
bool set_bootstrap_val_to_device(uint8_t strap, uint8_t val)
Definition: plat_hook.c:1043
@ UBC_VR_RAIL_E_ASIC_P0V75_OWL_E_TRVDD
Definition: plat_hook.h:76
@ UBC_VR_RAIL_E_ASIC_P0V75_MAX_S_VDD
Definition: plat_hook.h:92
@ UBC_VR_RAIL_E_ASIC_P0V75_MAX_N_VDD
Definition: plat_hook.h:83
@ UBC_VR_RAIL_E_ASIC_P0V85_HAMSA_VDD
Definition: plat_hook.h:86
@ UBC_VR_RAIL_E_ASIC_P0V75_VDDPHY_HBM1357
Definition: plat_hook.h:78
@ UBC_VR_RAIL_E_P3V3_OSFP
Definition: plat_hook.h:95
@ UBC_VR_RAIL_E_ASIC_P0V4_VDDQL_HBM0246
Definition: plat_hook.h:89
@ UBC_VR_RAIL_E_ASIC_P0V85_MEDHA0_VDD
Definition: plat_hook.h:73
@ UBC_VR_RAIL_E_ASIC_P0V9_OWL_W_TRVDD
Definition: plat_hook.h:93
@ UBC_VR_RAIL_E_ASIC_P1V8_VPP_HBM1357
Definition: plat_hook.h:82
@ UBC_VR_RAIL_E_ASIC_P1V8_VPP_HBM0246
Definition: plat_hook.h:88
@ UBC_VR_RAIL_E_ASIC_P0V85_MEDHA1_VDD
Definition: plat_hook.h:74
@ UBC_VR_RAIL_E_ASIC_P1V1_VDDQC_HBM1357
Definition: plat_hook.h:81
@ UBC_VR_RAIL_E_ASIC_P0V4_VDDQL_HBM1357
Definition: plat_hook.h:80
@ UBC_VR_RAIL_E_ASIC_P0V8_HAMSA_AVDD_PCIE
Definition: plat_hook.h:84
@ UBC_VR_RAIL_E_ASIC_P1V1_VDDQC_HBM0246
Definition: plat_hook.h:87
@ UBC_VR_RAIL_E_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE
Definition: plat_hook.h:85
@ UBC_VR_RAIL_E_ASIC_P0V75_MAX_M_VDD
Definition: plat_hook.h:77
@ UBC_VR_RAIL_E_ASIC_P0V75_OWL_E_VDD
Definition: plat_hook.h:79
@ UBC_VR_RAIL_E_ASIC_P0V75_VDDPHY_HBM0246
Definition: plat_hook.h:90
@ UBC_VR_RAIL_E_ASIC_P0V75_OWL_W_VDD
Definition: plat_hook.h:91
@ UBC_VR_RAIL_E_ASIC_P0V75_OWL_W_TRVDD
Definition: plat_hook.h:94
@ UBC_VR_RAIL_E_ASIC_P0V9_OWL_E_TRVDD
Definition: plat_hook.h:75
@ VR_RAIL_E_ASIC_P0V85_HAMSA_VDD
Definition: plat_hook.h:58
@ VR_RAIL_E_ASIC_P0V75_MAX_S_VDD
Definition: plat_hook.h:64
@ VR_RAIL_E_ASIC_P0V4_VDDQL_HBM0246
Definition: plat_hook.h:61
@ VR_RAIL_E_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE
Definition: plat_hook.h:57
@ VR_RAIL_E_P3V3_OSFP_VOLT_V
Definition: plat_hook.h:67
@ VR_RAIL_E_ASIC_P0V75_VDDPHY_HBM1357
Definition: plat_hook.h:50
@ VR_RAIL_E_ASIC_P0V75_OWL_E_VDD
Definition: plat_hook.h:51
@ VR_RAIL_E_ASIC_P1V8_VPP_HBM0246
Definition: plat_hook.h:60
@ VR_RAIL_E_ASIC_P0V4_VDDQL_HBM1357
Definition: plat_hook.h:52
@ VR_RAIL_E_ASIC_P0V9_OWL_E_TRVDD
Definition: plat_hook.h:47
@ VR_RAIL_E_ASIC_P1V8_VPP_HBM1357
Definition: plat_hook.h:54
@ VR_RAIL_E_ASIC_P0V85_MEDHA0_VDD
Definition: plat_hook.h:45
@ VR_RAIL_E_ASIC_P0V75_VDDPHY_HBM0246
Definition: plat_hook.h:62
@ VR_RAIL_E_ASIC_P0V75_OWL_W_VDD
Definition: plat_hook.h:63
@ VR_RAIL_E_ASIC_P0V75_OWL_E_TRVDD
Definition: plat_hook.h:48
@ VR_RAIL_E_ASIC_P1V1_VDDQC_HBM1357
Definition: plat_hook.h:53
@ VR_RAIL_E_ASIC_P0V85_MEDHA1_VDD
Definition: plat_hook.h:46
@ VR_RAIL_E_ASIC_P0V75_MAX_M_VDD
Definition: plat_hook.h:49
@ VR_RAIL_E_ASIC_P0V75_OWL_W_TRVDD
Definition: plat_hook.h:66
@ VR_RAIL_E_ASIC_P0V8_HAMSA_AVDD_PCIE
Definition: plat_hook.h:56
@ VR_RAIL_E_ASIC_P1V1_VDDQC_HBM0246
Definition: plat_hook.h:59
@ VR_RAIL_E_ASIC_P0V75_MAX_N_VDD
Definition: plat_hook.h:55
@ VR_RAIL_E_ASIC_P0V9_OWL_W_TRVDD
Definition: plat_hook.h:65
@ VR_INDEX_E_2
Definition: plat_hook.h:29
@ VR_INDEX_E_10
Definition: plat_hook.h:37
@ VR_INDEX_E_11
Definition: plat_hook.h:38
@ VR_INDEX_E_4
Definition: plat_hook.h:31
@ VR_INDEX_E_9
Definition: plat_hook.h:36
@ VR_INDEX_E_3
Definition: plat_hook.h:30
@ VR_INDEX_E_12
Definition: plat_hook.h:39
@ VR_INDEX_E_6
Definition: plat_hook.h:33
@ VR_INDEX_E_8
Definition: plat_hook.h:35
@ VR_INDEX_E_1
Definition: plat_hook.h:28
@ VR_INDEX_E_7
Definition: plat_hook.h:34
@ VR_INDEX_E_5
Definition: plat_hook.h:32
@ VR_INDEX_E_13
Definition: plat_hook.h:40
bool set_bootstrap_table_val_to_ioexp(void)
Definition: plat_hook.c:793
bool bootstrap_user_settings_init(void)
Definition: plat_hook.c:1100
int get_vr_mp29816a_reg(uint8_t rail, uint16_t *get_data, uint8_t get_reg)
Definition: plat_hook.c:1280
void set_bootstrap_table_change_setting_value(uint8_t index, uint8_t value)
Definition: plat_hook.c:366
VR_MP29816_REG_E
Definition: plat_hook.h:200
@ UVP
Definition: plat_hook.h:202
@ DIV_EN
Definition: plat_hook.h:210
@ VOUT_OFFSET
Definition: plat_hook.h:205
@ VOUT_MAX
Definition: plat_hook.h:203
@ VOUT_COMMAND
Definition: plat_hook.h:204
@ OVP_2
Definition: plat_hook.h:208
@ VR_MP29816_SET_REG_MAX
Definition: plat_hook.h:211
@ OVP_1
Definition: plat_hook.h:207
@ OVP_2_ACTION
Definition: plat_hook.h:209
@ UVP_THRESHOLD
Definition: plat_hook.h:201
@ TOTAL_OCP
Definition: plat_hook.h:206
bool temp_threshold_user_settings_get(void *temp_threshold_user_settings)
Definition: plat_hook.c:1305
bool post_tmp432_read(sensor_cfg *cfg, void *args, int *reading)
Definition: plat_hook.c:123
STRAP_TYPE_E
Definition: plat_hook.h:193
@ STRAP_TYPE_CPLD
Definition: plat_hook.h:194
@ STRAP_TYPE_MAX
Definition: plat_hook.h:197
@ STRAP_TYPE_IOEXP_TCA6424A
Definition: plat_hook.h:196
@ STRAP_TYPE_IOEXP_PCA6416A
Definition: plat_hook.h:195
@ STRAP_INDEX_HAMSA_MFIO18
Definition: plat_hook.h:138
@ STRAP_INDEX_MEDHA0_MFIO10
Definition: plat_hook.h:186
@ STRAP_INDEX_MEDHA1_MFIO6
Definition: plat_hook.h:187
@ STRAP_INDEX_HAMSA_LS_STRAP_0
Definition: plat_hook.h:130
@ STRAP_INDEX_HAMSA_CRM_STRAP_1
Definition: plat_hook.h:133
@ STRAP_INDEX_OWL_E_UART_MUX_PLD_SEL_0_2
Definition: plat_hook.h:174
@ STRAP_INDEX_MEDHA0_CORE_TAP_CTRL_PLD_L
Definition: plat_hook.h:149
@ STRAP_INDEX_MEDHA0_ATPG_MODE_L
Definition: plat_hook.h:151
@ STRAP_INDEX_OWL_W_JTAG_MUX_PLD_SEL_0_3
Definition: plat_hook.h:173
@ STRAP_INDEX_OWL_E_JTAG_MUX_PLD_SEL_0_3
Definition: plat_hook.h:172
@ STRAP_INDEX_PLD_OWL_W_PAD_TRI_L
Definition: plat_hook.h:170
@ STRAP_INDEX_HAMSA_MFIO17
Definition: plat_hook.h:137
@ STRAP_INDEX_MEDHA0_MFIO8
Definition: plat_hook.h:185
@ STRAP_INDEX_MEDHA1_CHIP_STRAP_0
Definition: plat_hook.h:156
@ STRAP_INDEX_PLD_OWL_E_DFT_TAP_EN_L
Definition: plat_hook.h:164
@ STRAP_INDEX_HAMSA_CRM_STRAP_0
Definition: plat_hook.h:132
@ STRAP_INDEX_MEDHA1_TEST_STRAP
Definition: plat_hook.h:153
@ STRAP_INDEX_MEDHA1_CRM_STRAP_1
Definition: plat_hook.h:155
@ STRAP_INDEX_HAMSA_MFIO9
Definition: plat_hook.h:135
@ STRAP_INDEX_OWL_W_DVT_ENABLE
Definition: plat_hook.h:177
@ STRAP_INDEX_MEDHA0_TEST_STRAP
Definition: plat_hook.h:144
@ STRAP_INDEX_HAMSA_TRI_L
Definition: plat_hook.h:140
@ STRAP_INDEX_MEDHA1_CHIP_STRAP_1
Definition: plat_hook.h:157
@ STRAP_INDEX_PLD_OWL_W_DFT_TAP_EN_L
Definition: plat_hook.h:168
@ STRAP_INDEX_MEDHA0_CRM_STRAP_0
Definition: plat_hook.h:145
@ STRAP_INDEX_PLD_OWL_W_ATPG_MODE_L
Definition: plat_hook.h:171
@ STRAP_INDEX_FM_JTAG_HAMSA_JTCE_0_3
Definition: plat_hook.h:143
@ STRAP_INDEX_EXCEPT_EVB_MAX
Definition: plat_hook.h:180
@ STRAP_INDEX_HAMSA_MFIO10
Definition: plat_hook.h:183
@ STRAP_INDEX_OWL_E_DVT_ENABLE
Definition: plat_hook.h:176
@ STRAP_INDEX_MEDHA0_CHIP_STRAP_1
Definition: plat_hook.h:148
@ STRAP_INDEX_PLD_OWL_E_CORE_TAP_CTRL_L
Definition: plat_hook.h:165
@ STRAP_INDEX_MEDHA1_CRM_STRAP_0
Definition: plat_hook.h:154
@ STRAP_INDEX_MEDHA1_TRI_L
Definition: plat_hook.h:159
@ STRAP_INDEX_OWL_W_UART_MUX_PLD_SEL_0_2
Definition: plat_hook.h:175
@ STRAP_INDEX_MEDHA1_CORE_TAP_CTRL_PLD_L
Definition: plat_hook.h:158
@ STRAP_INDEX_MEDHA0_CRM_STRAP_1
Definition: plat_hook.h:146
@ STRAP_INDEX_HAMSA_CORE_TAP_CTRL_L
Definition: plat_hook.h:139
@ STRAP_INDEX_HAMSA_ATPG_MODE_L
Definition: plat_hook.h:141
@ STRAP_INDEX_MEDHA1_ATPG_MODE_L
Definition: plat_hook.h:160
@ STRAP_INDEX_PLD_OWL_E_PAD_TRI_L
Definition: plat_hook.h:166
@ STRAP_INDEX_MEDHA0_DFT_TAP_EN_PLD_L
Definition: plat_hook.h:152
@ STRAP_INDEX_HAMSA_MFIO8
Definition: plat_hook.h:182
@ STRAP_INDEX_MEDHA1_MFIO8
Definition: plat_hook.h:188
@ STRAP_INDEX_PLD_OWL_W_CORE_TAP_CTRL_L
Definition: plat_hook.h:169
@ STRAP_INDEX_HAMSA_LS_STRAP_1
Definition: plat_hook.h:131
@ STRAP_INDEX_OWL_E_BOOT_SOURCE_0_7
Definition: plat_hook.h:178
@ STRAP_INDEX_HAMSA_MFIO11
Definition: plat_hook.h:136
@ STRAP_INDEX_MEDHA0_MFIO6
Definition: plat_hook.h:184
@ STRAP_INDEX_HAMSA_TEST_STRAP_R
Definition: plat_hook.h:129
@ STRAP_INDEX_HAMSA_MFIO6
Definition: plat_hook.h:181
@ STRAP_INDEX_PLD_OWL_E_ATPG_MODE_L
Definition: plat_hook.h:167
@ STRAP_INDEX_HAMSA_MFIO7
Definition: plat_hook.h:134
@ STRAP_INDEX_OWL_W_BOOT_SOURCE_0_7
Definition: plat_hook.h:179
@ STRAP_INDEX_HAMSA_DFT_TAP_EN_L
Definition: plat_hook.h:142
@ STRAP_INDEX_MEDHA1_MFIO10
Definition: plat_hook.h:189
@ STRAP_INDEX_MEDHA1_DFT_TAP_EN_PLD_L
Definition: plat_hook.h:161
@ STRAP_INDEX_FM_JTAG_MEDHA1_JTCE_0_2
Definition: plat_hook.h:163
@ STRAP_INDEX_FM_JTAG_MEDHA0_JTCE_0_2
Definition: plat_hook.h:162
@ STRAP_INDEX_MEDHA0_TRI_L
Definition: plat_hook.h:150
@ STRAP_INDEX_MEDHA0_CHIP_STRAP_0
Definition: plat_hook.h:147
bool bootstrap_user_settings_set(void *bootstrap_user_settings)
Definition: plat_hook.c:1421
int get_vr_mp2971_reg(uint8_t rail, uint16_t *get_data, uint8_t get_reg)
Definition: plat_hook.c:1356
bool bootstrap_default_settings_init(void)
Definition: plat_hook.c:873
int get_vr_page(uint8_t rail)
Definition: plat_hook.c:1205
Definition: sensor.h:264
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:290
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
Definition: plat_hook.h:293
uint8_t type
Definition: plat_hook.h:225
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:794
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 default_vout_max[STRAP_INDEX_MAX]
Definition: plat_hook.h:194
uint16_t default_vout_min[STRAP_INDEX_MAX]
Definition: plat_hook.h:195
uint16_t change_vout_max[STRAP_INDEX_MAX]
Definition: plat_hook.h:196
Definition: plat_hook.h:233
uint16_t vout[VR_RAIL_E_MAX]
Definition: plat_hook.h:234
name
Definition: plat_i2c.h:24