OpenBIC
OpenSource Bridge-IC
plat_pldm_sensor.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_PLDM_SENSOR_H
18#define PLAT_PLDM_SENSOR_H
19
20#include "pdr.h"
21#include "sensor.h"
22#define ADDR_UNKNOWN (0xFF >> 1)
23
24/* Define sensors address(7 bit) */
25#define THERMAL_SENSOR_1_ADDR (0x6A >> 1)
26#define THERMAL_SENSOR_2_ADDR (0x98 >> 1)
27
28#define VR_ASIC_P0V895_PEX_MP2971_ADDR (0x84 >> 1)
29#define VR_ASIC_P0V895_PEX_ISL69260_ADDR (0xC0 >> 1)
30
31#define VR_ASIC_P0V825_A0_MP2971_ADDR (0x84 >> 1)
32#define VR_ASIC_P0V825_A0_ISL69260_ADDR (0xC0 >> 1)
33
34#define VR_ASIC_P0V825_A1_MP2971_ADDR (0x40 >> 1)
35#define VR_ASIC_P0V825_A1_ISL69260_ADDR (0xC2 >> 1)
36
37#define VR_ASIC_P0V825_A2_MP2971_ADDR (0x40 >> 1)
38#define VR_ASIC_P0V825_A2_ISL69260_ADDR (0xC2 >> 1)
39
40#define ADS7830_I2C_ADDR (0x90 >> 1)
41
42/* Define the sensor numbers used in this platform */
68};
69
70#define TMP75_TEMP_OFFSET 0x00
71#define UPDATE_INTERVAL_1S 1
72#define UPDATE_INTERVAL_5S 5
73#define UPDATE_INTERVAL_60S 60
74
80};
81
85};
86
87int plat_pldm_sensor_get_sensor_count(int thread_id);
91uint8_t plat_pldm_sensor_get_vr_dev(uint8_t *vr_dev);
93bool is_dc_access(uint8_t sensor_num);
102bool is_temp_access(uint8_t cfg_idx);
103bool is_vr_access(uint8_t sensor_num);
104bool is_adc_access(uint8_t sensor_num);
105bool get_sensor_info_by_sensor_id(uint8_t sensor_id, uint8_t *vr_bus, uint8_t *vr_addr,
106 uint8_t *sensor_dev);
107size_t char16_strlen(const char16_t *str);
108char16_t *char16_strcpy(char16_t *dest, const char16_t *src);
110
111#endif
uint_least16_t char16_t
Definition: libutil.h:86
GET_VR_DEV_STATUS
Definition: plat_pldm_sensor.h:234
@ GET_VR_DEV_FAILED
Definition: plat_pldm_sensor.h:236
@ GET_VR_DEV_SUCCESS
Definition: plat_pldm_sensor.h:235
bool get_plat_sensor_vr_polling_enable_flag()
Definition: plat_pldm_sensor.c:9800
int plat_pldm_sensor_get_sensor_count(int thread_id)
Definition: plat_pldm_sensor.c:9214
bool is_vr_access(uint8_t sensor_num)
Definition: plat_pldm_sensor.c:9819
char16_t * char16_strcat_char(char16_t *dest)
Definition: plat_pldm_sensor.c:9323
SENSOR_THREAD_LIST
Definition: plat_pldm_sensor.h:226
@ MAX_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:231
@ TEMP_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:230
@ VR_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:229
size_t char16_strlen(const char16_t *str)
Definition: plat_pldm_sensor.c:9305
bool is_dc_access(uint8_t sensor_num)
Definition: plat_sensor_table.c:1564
void plat_pldm_sensor_get_pdr_numeric_sensor(int thread_id, int sensor_num, PDR_numeric_sensor *numeric_sensor_table)
Definition: plat_pldm_sensor.c:9243
void set_plat_sensor_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9765
bool get_sensor_info_by_sensor_id(uint8_t sensor_id, uint8_t *vr_bus, uint8_t *vr_addr, uint8_t *sensor_dev)
Definition: plat_pldm_sensor.c:9827
bool get_plat_sensor_temp_polling_enable_flag()
Definition: plat_pldm_sensor.c:9795
void plat_pldm_sensor_change_retimer_dev()
Definition: plat_pldm_sensor.c:6767
bool is_temp_access(uint8_t cfg_idx)
Definition: plat_pldm_sensor.c:9813
sensor_cfg * get_sensor_cfg_by_sensor_id(uint8_t sensor_id)
Definition: plat_pldm_sensor.c:9889
char16_t * char16_strcpy(char16_t *dest, const char16_t *src)
Definition: plat_pldm_sensor.c:9314
void set_plat_sensor_temp_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9775
void set_plat_sensor_vr_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9780
uint8_t plat_pldm_sensor_get_vr_dev(uint8_t *vr_dev)
Definition: plat_pldm_sensor.c:6895
bool get_plat_sensor_polling_enable_flag()
Definition: plat_pldm_sensor.c:9785
PDR_numeric_sensor * numeric_sensor_table
Definition: pdr.c:16
PDR_numeric_sensor
Definition: pdr.h:118
uint16_t sensor_id
Definition: pldm_monitor.h:0
SENSOR_NUM_LIST
Definition: plat_pldm_sensor.h:43
@ SENSOR_NUM_VR_ASIC_P0V825_A2_PWR_W
Definition: plat_pldm_sensor.h:61
@ SENSOR_NUM_VR_ASIC_P0V895_PEX_PWR_W
Definition: plat_pldm_sensor.h:49
@ SENSOR_NUM_VR_ASIC_P0V895_PEX_TEMP_C
Definition: plat_pldm_sensor.h:46
@ SENSOR_NUM_VR_ASIC_P0V825_A1_TEMP_C
Definition: plat_pldm_sensor.h:54
@ SENSOR_NUM_VR_ASIC_P0V825_A1_VOLT_V
Definition: plat_pldm_sensor.h:55
@ SENSOR_NUM_VR_ASIC_P0V895_PEX_CURR_A
Definition: plat_pldm_sensor.h:48
@ SENSOR_NUM_ADC_P3V3_AUX_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:64
@ SENSOR_NUM_VR_ASIC_P0V895_PEX_VOLT_V
Definition: plat_pldm_sensor.h:47
@ SENSOR_NUM_VR_ASIC_P0V825_A2_CURR_A
Definition: plat_pldm_sensor.h:60
@ SENSOR_NUM_VR_ASIC_P0V825_A1_PWR_W
Definition: plat_pldm_sensor.h:57
@ SENSOR_NUM_ADC_P1V8_PEX_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:67
@ SENSOR_NUM_VR_ASIC_P0V825_A2_VOLT_V
Definition: plat_pldm_sensor.h:59
@ SENSOR_NUM_THERMAL_SENSOR_1_TEMP_C
Definition: plat_pldm_sensor.h:44
@ SENSOR_NUM_ADC_P1V2_PEX_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:66
@ SENSOR_NUM_ADC_P1V5_PEX_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:65
@ SENSOR_NUM_VR_ASIC_P0V825_A0_CURR_A
Definition: plat_pldm_sensor.h:52
@ SENSOR_NUM_VR_ASIC_P0V825_A2_TEMP_C
Definition: plat_pldm_sensor.h:58
@ SENSOR_NUM_VR_ASIC_P0V825_A0_TEMP_C
Definition: plat_pldm_sensor.h:50
@ SENSOR_NUM_THERMAL_SENSOR_2_TEMP_C
Definition: plat_pldm_sensor.h:45
@ SENSOR_NUM_ADC_P5V_STBY_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:63
@ SENSOR_NUM_VR_ASIC_P0V825_A1_CURR_A
Definition: plat_pldm_sensor.h:56
@ SENSOR_NUM_VR_ASIC_P0V825_A0_VOLT_V
Definition: plat_pldm_sensor.h:51
@ SENSOR_NUM_ADC_P12V_SCALED_VOLT_V
Definition: plat_pldm_sensor.h:62
@ SENSOR_NUM_VR_ASIC_P0V825_A0_PWR_W
Definition: plat_pldm_sensor.h:53
@ ADC_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:78
bool is_adc_access(uint8_t sensor_num)
Definition: plat_pldm_sensor.c:2507
void set_plat_sensor_adc_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:2482
bool get_plat_sensor_adc_polling_enable_flag()
Definition: plat_pldm_sensor.c:2492
uint8_t sensor_num
Definition: storage_handler.h:6
Definition: sensor.h:261