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// sensor addr
25#define TOP_INLET_ADDR (0x92 >> 1)
26#define BOT_INLET_ADDR (0x94 >> 1)
27#define BOT_OUTLET_ADDR (0X96 >> 1)
28
29#define ASIC_MEDHA0_SENSOR0_ADDR (0x98 >> 1)
30#define ASIC_MEDHA0_SENSOR1_ADDR (0x98 >> 1)
31#define ASIC_OWL_W_ADDR (0x9A >> 1)
32#define ASIC_OWL_E_ADDR (0x9A >> 1)
33#define ASIC_HAMSA_CRM_ADDR (0x98 >> 1)
34#define ASIC_HAMSA_LS_ADDR (0x98 >> 1)
35#define ASIC_MEDHA1_SENSOR0_ADDR (0x9A >> 1)
36#define ASIC_MEDHA1_SENSOR1_ADDR (0x9A >> 1)
37
38#define ASIC_P0V85_MEDHA0_VDD_ADDR (0x50 >> 1)
39#define ASIC_P0V85_MEDHA1_VDD_ADDR (0x4C >> 1)
40#define ASIC_P0V9_OWL_E_TRVDD_ADDR (0xEE >> 1)
41#define ASIC_P0V75_OWL_E_TRVDD_ADDR (0xEE >> 1)
42#define ASIC_P0V75_MAX_M_VDD_ADDR (0xEA >> 1)
43#define ASIC_P0V75_VDDPHY_HBM1357_ADDR (0xEA >> 1)
44#define ASIC_P0V75_OWL_E_VDD_ADDR (0xE2 >> 1)
45#define ASIC_P0V4_VDDQL_HBM1357_ADDR (0xE2 >> 1)
46#define ASIC_P1V1_VDDQC_HBM1357_ADDR (0xEC >> 1)
47#define ASIC_P1V8_VPP_HBM1357_ADDR (0xEC >> 1)
48
49#define ASIC_P0V75_MAX_N_VDD_ADDR (0xF6 >> 1)
50#define ASIC_P0V8_HAMSA_AVDD_PCIE_ADDR (0xF6 >> 1)
51#define ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_ADDR (0xF2 >> 1)
52#define ASIC_P0V85_HAMSA_VDD_ADDR (0xF2 >> 1)
53#define ASIC_P1V1_VDDQC_HBM0246_ADDR (0xE0 >> 1)
54#define ASIC_P1V8_VPP_HBM0246_ADDR (0xE0 >> 1)
55#define ASIC_P0V4_VDDQL_HBM0246_ADDR (0xE4 >> 1)
56#define ASIC_P0V75_VDDPHY_HBM0246_ADDR (0xE4 >> 1)
57#define ASIC_P0V75_OWL_W_VDD_ADDR (0xE6 >> 1)
58#define ASIC_P0V75_MAX_S_VDD_ADDR (0xE6 >> 1)
59#define ASIC_P0V9_OWL_W_TRVDD_ADDR (0xF8 >> 1)
60#define ASIC_P0V75_OWL_W_TRVDD_ADDR (0xF8 >> 1)
61
62// VR_MODULE_RNS module addr
63#define ASIC_P0V85_MEDHA0_VDD_RNS_ADDR (0xEC >> 1)
64#define ASIC_P0V85_MEDHA1_VDD_RNS_ADDR (0xE4 >> 1)
65#define ASIC_P0V9_OWL_E_TRVDD_RNS_ADDR (0xC4 >> 1)
66#define ASIC_P0V75_OWL_E_TRVDD_RNS_ADDR (0xC4 >> 1)
67#define ASIC_P0V75_MAX_M_VDD_RNS_ADDR (0xE8 >> 1)
68#define ASIC_P0V75_VDDPHY_HBM1357_RNS_ADDR (0xE8 >> 1)
69#define ASIC_P0V75_OWL_E_VDD_RNS_ADDR (0xC2 >> 1)
70#define ASIC_P0V4_VDDQL_HBM1357_RNS_ADDR (0xC2 >> 1)
71#define ASIC_P1V1_VDDQC_HBM1357_RNS_ADDR (0xC6 >> 1)
72#define ASIC_P1V8_VPP_HBM1357_RNS_ADDR (0xC6 >> 1)
73
74#define ASIC_P0V75_MAX_N_VDD_RNS_ADDR (0xC2 >> 1)
75#define ASIC_P0V8_HAMSA_AVDD_PCIE_RNS_ADDR (0xC2 >> 1)
76#define ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_RNS_ADDR (0xC6 >> 1)
77#define ASIC_P0V85_HAMSA_VDD_RNS_ADDR (0xC6 >> 1)
78#define ASIC_P1V1_VDDQC_HBM0246_RNS_ADDR (0xC0 >> 1)
79#define ASIC_P1V8_VPP_HBM0246_RNS_ADDR (0xC0 >> 1)
80#define ASIC_P0V4_VDDQL_HBM0246_RNS_ADDR (0xE8 >> 1)
81#define ASIC_P0V75_VDDPHY_HBM0246_RNS_ADDR (0xE8 >> 1)
82#define ASIC_P0V75_OWL_W_VDD_RNS_ADDR (0xC4 >> 1)
83#define ASIC_P0V75_MAX_S_VDD_RNS_ADDR (0xC4 >> 1)
84#define ASIC_P0V9_OWL_W_TRVDD_RNS_ADDR (0xEA >> 1)
85#define ASIC_P0V75_OWL_W_TRVDD_RNS_ADDR (0xEA >> 1)
86
87// rainbow >= FAB2 or evb >= FAB3 VR address (7-bit) and ubc
88// UBC1_NEW_ADDR
89#define UBC1_NEW_ADDR 0x17
90// VR RNS_NEW_ADDR
91#define NEW_RNS_P0V9_OWL_W_TRVDD_ADDR 0x75
92#define NEW_RNS_P0V75_OWL_W_TRVDD_ADDR 0x75
93#define NEW_RNS_P0V75_OWL_W_VDD_ADDR 0x72
94#define NEW_RNS_P0V75_MAX_S_VDD_ADDR 0x72
95#define NEW_RNS_P1V1_VDDQC_HBM0246_ADDR 0x60
96#define NEW_RNS_P1V8_VPP_HBM0246_ADDR 0x60
97#define NEW_RNS_P0V4_VDDQL_HBM0246_ADDR 0x74
98#define NEW_RNS_P0V75_VDDPHY_HBM0246_ADDR 0x74
99#define NEW_RNS_P0V75_MAX_N_VDD_ADDR 0x76
100#define NEW_RNS_P0V8_HAMSA_AVDD_PCIE_ADDR 0x76
101#define NEW_RNS_P1V2_HAMSA_VDDHRXTX_PCIE_ADDR 0x63
102#define NEW_RNS_P0V85_HAMSA_VDD_ADDR 0x63
103#define NEW_RNS_P0V9_OWL_E_TRVDD_ADDR 0x60
104#define NEW_RNS_P0V75_OWL_E_TRVDD_ADDR 0x60
105#define NEW_RNS_P0V75_OWL_E_VDD_ADDR 0x61
106#define NEW_RNS_P0V4_VDDQL_HBM1357_ADDR 0x61
107#define NEW_RNS_P0V75_MAX_M_VDD_ADDR 0x74
108#define NEW_RNS_P0V75_VDDPHY_HBM1357_ADDR 0x74
109#define NEW_RNS_P1V1_VDDQC_HBM1357_ADDR 0x63
110#define NEW_RNS_P1V8_VPP_HBM1357_ADDR 0x63
111#define NEW_RNS_P0V85_MEDHA1_VDD_ADDR 0x72
112#define NEW_RNS_P0V85_MEDHA0_VDD_ADDR 0x76
113// VR MPS_NEW_ADDR
114#define NEW_MPS_P0V9_OWL_W_TRVDD_ADDR 0x6C
115#define NEW_MPS_P0V75_OWL_W_TRVDD_ADDR 0x6C
116#define NEW_MPS_P0V75_OWL_W_VDD_ADDR 0x73
117#define NEW_MPS_P0V75_MAX_S_VDD_ADDR 0x73
118#define NEW_MPS_P1V1_VDDQC_HBM0246_ADDR 0x70
119#define NEW_MPS_P1V8_VPP_HBM0246_ADDR 0x70
120#define NEW_MPS_P0V4_VDDQL_HBM0246_ADDR 0x72
121#define NEW_MPS_P0V75_VDDPHY_HBM0246_ADDR 0x72
122#define NEW_MPS_P0V75_MAX_N_VDD_ADDR 0x6B
123#define NEW_MPS_P0V8_HAMSA_AVDD_PCIE_ADDR 0x6B
124#define NEW_MPS_P1V2_HAMSA_VDDHRXTX_PCIE_ADDR 0x69
125#define NEW_MPS_P0V85_HAMSA_VDD_ADDR 0x69
126#define NEW_MPS_P0V9_OWL_E_TRVDD_ADDR 0x77
127#define NEW_MPS_P0V75_OWL_E_TRVDD_ADDR 0x77
128#define NEW_MPS_P0V75_OWL_E_VDD_ADDR 0x71
129#define NEW_MPS_P0V4_VDDQL_HBM1357_ADDR 0x71
130#define NEW_MPS_P0V75_MAX_M_VDD_ADDR 0x75
131#define NEW_MPS_P0V75_VDDPHY_HBM1357_ADDR 0x75
132#define NEW_MPS_P1V1_VDDQC_HBM1357_ADDR 0x76
133#define NEW_MPS_P1V8_VPP_HBM1357_ADDR 0x76
134#define NEW_MPS_P0V85_MEDHA1_VDD_ADDR 0x26
135#define NEW_MPS_P0V85_MEDHA0_VDD_ADDR 0x28
136
137#define UBC1_ADDR (0x28 >> 1)
138#define UBC2_ADDR (0x34 >> 1)
139
140#define P3V3_OSFP_ADDR (0xFA >> 1)
141
142// sensor number
143/* Define sensors address(7 bit) */
144#define SENSOR_NUM_TOP_INLET_TEMP_C 0x01
145#define SENSOR_NUM_BOT_INLET_TEMP_C 0x02
146#define SENSOR_NUM_BOT_OUTLET_TEMP_C 0x03
147#define SENSOR_NUM_ASIC_MEDHA0_SENSOR0_TEMP_C 0x04
148#define SENSOR_NUM_ASIC_MEDHA0_SENSOR1_TEMP_C 0x05
149#define SENSOR_NUM_ASIC_OWL_W_TEMP_C 0x06
150#define SENSOR_NUM_ASIC_OWL_E_TEMP_C 0x07
151#define SENSOR_NUM_ASIC_MEDHA1_SENSOR0_TEMP_C 0x08
152#define SENSOR_NUM_ASIC_MEDHA1_SENSOR1_TEMP_C 0x09
153#define SENSOR_NUM_ASIC_HAMSA_CRM_TEMP_C 0x0A
154#define SENSOR_NUM_ASIC_HAMSA_LS_TEMP_C 0x0B
155
156#define SENSOR_NUM_ASIC_P0V85_MEDHA0_VDD_TEMP_C 0x0C
157#define SENSOR_NUM_ASIC_P0V85_MEDHA0_VDD_VOLT_V 0x0D
158#define SENSOR_NUM_ASIC_P0V85_MEDHA0_VDD_CURR_A 0x0E
159#define SENSOR_NUM_ASIC_P0V85_MEDHA0_VDD_PWR_W 0x0F
160
161#define SENSOR_NUM_ASIC_P0V85_MEDHA1_VDD_TEMP_C 0x10
162#define SENSOR_NUM_ASIC_P0V85_MEDHA1_VDD_VOLT_V 0x11
163#define SENSOR_NUM_ASIC_P0V85_MEDHA1_VDD_CURR_A 0x12
164#define SENSOR_NUM_ASIC_P0V85_MEDHA1_VDD_PWR_W 0x13
165
166#define SENSOR_NUM_ASIC_P0V9_OWL_E_TRVDD_TEMP_C 0x14
167#define SENSOR_NUM_ASIC_P0V9_OWL_E_TRVDD_VOLT_V 0x15
168#define SENSOR_NUM_ASIC_P0V9_OWL_E_TRVDD_CURR_A 0x16
169#define SENSOR_NUM_ASIC_P0V9_OWL_E_TRVDD_PWR_W 0x17
170
171#define SENSOR_NUM_ASIC_P0V75_OWL_E_TRVDD_TEMP_C 0x18
172#define SENSOR_NUM_ASIC_P0V75_OWL_E_TRVDD_VOLT_V 0x19
173#define SENSOR_NUM_ASIC_P0V75_OWL_E_TRVDD_CURR_A 0x1A
174#define SENSOR_NUM_ASIC_P0V75_OWL_E_TRVDD_PWR_W 0x1B
175
176#define SENSOR_NUM_ASIC_P0V75_OWL_E_VDD_TEMP_C 0x1C
177#define SENSOR_NUM_ASIC_P0V75_OWL_E_VDD_VOLT_V 0x1D
178#define SENSOR_NUM_ASIC_P0V75_OWL_E_VDD_CURR_A 0x1E
179#define SENSOR_NUM_ASIC_P0V75_OWL_E_VDD_PWR_W 0x1F
180
181#define SENSOR_NUM_ASIC_P0V9_OWL_W_TRVDD_TEMP_C 0x20
182#define SENSOR_NUM_ASIC_P0V9_OWL_W_TRVDD_VOLT_V 0x21
183#define SENSOR_NUM_ASIC_P0V9_OWL_W_TRVDD_CURR_A 0x22
184#define SENSOR_NUM_ASIC_P0V9_OWL_W_TRVDD_PWR_W 0x23
185
186#define SENSOR_NUM_ASIC_P0V75_OWL_W_TRVDD_TEMP_C 0x24
187#define SENSOR_NUM_ASIC_P0V75_OWL_W_TRVDD_VOLT_V 0x25
188#define SENSOR_NUM_ASIC_P0V75_OWL_W_TRVDD_CURR_A 0x26
189#define SENSOR_NUM_ASIC_P0V75_OWL_W_TRVDD_PWR_W 0x27
190
191#define SENSOR_NUM_ASIC_P0V75_OWL_W_VDD_TEMP_C 0x28
192#define SENSOR_NUM_ASIC_P0V75_OWL_W_VDD_VOLT_V 0x29
193#define SENSOR_NUM_ASIC_P0V75_OWL_W_VDD_CURR_A 0x2A
194#define SENSOR_NUM_ASIC_P0V75_OWL_W_VDD_PWR_W 0x2B
195
196#define SENSOR_NUM_ASIC_P0V75_MAX_M_VDD_TEMP_C 0x2C
197#define SENSOR_NUM_ASIC_P0V75_MAX_M_VDD_VOLT_V 0x2D
198#define SENSOR_NUM_ASIC_P0V75_MAX_M_VDD_CURR_A 0x2E
199#define SENSOR_NUM_ASIC_P0V75_MAX_M_VDD_PWR_W 0x2F
200
201#define SENSOR_NUM_ASIC_P0V75_MAX_N_VDD_TEMP_C 0x30
202#define SENSOR_NUM_ASIC_P0V75_MAX_N_VDD_VOLT_V 0x31
203#define SENSOR_NUM_ASIC_P0V75_MAX_N_VDD_CURR_A 0x32
204#define SENSOR_NUM_ASIC_P0V75_MAX_N_VDD_PWR_W 0x33
205
206#define SENSOR_NUM_ASIC_P0V75_MAX_S_VDD_TEMP_C 0x34
207#define SENSOR_NUM_ASIC_P0V75_MAX_S_VDD_VOLT_V 0x35
208#define SENSOR_NUM_ASIC_P0V75_MAX_S_VDD_CURR_A 0x36
209#define SENSOR_NUM_ASIC_P0V75_MAX_S_VDD_PWR_W 0x37
210
211#define SENSOR_NUM_ASIC_P0V8_HAMSA_AVDD_PCIE_TEMP_C 0x38
212#define SENSOR_NUM_ASIC_P0V8_HAMSA_AVDD_PCIE_VOLT_V 0x39
213#define SENSOR_NUM_ASIC_P0V8_HAMSA_AVDD_PCIE_CURR_A 0x3A
214#define SENSOR_NUM_ASIC_P0V8_HAMSA_AVDD_PCIE_PWR_W 0x3B
215
216#define SENSOR_NUM_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_TEMP_C 0x3C
217#define SENSOR_NUM_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_VOLT_V 0x3D
218#define SENSOR_NUM_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_CURR_A 0x3E
219#define SENSOR_NUM_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_PWR_W 0x3F
220
221#define SENSOR_NUM_ASIC_P0V85_HAMSA_VDD_TEMP_C 0x40
222#define SENSOR_NUM_ASIC_P0V85_HAMSA_VDD_VOLT_V 0x41
223#define SENSOR_NUM_ASIC_P0V85_HAMSA_VDD_CURR_A 0x42
224#define SENSOR_NUM_ASIC_P0V85_HAMSA_VDD_PWR_W 0x43
225
226#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM0246_TEMP_C 0x44
227#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM0246_VOLT_V 0x45
228#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM0246_CURR_A 0x46
229#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM0246_PWR_W 0x47
230
231#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_TEMP_C 0x48
232#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_VOLT_V 0x49
233#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_CURR_A 0x4A
234#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_PWR_W 0x4B
235
236#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM0246_TEMP_C 0x4C
237#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM0246_VOLT_V 0x4D
238#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM0246_CURR_A 0x4E
239#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM0246_PWR_W 0x4F
240
241#define SENSOR_NUM_ASIC_P1V8_VPP_HBM0246_TEMP_C 0x50
242#define SENSOR_NUM_ASIC_P1V8_VPP_HBM0246_VOLT_V 0x51
243#define SENSOR_NUM_ASIC_P1V8_VPP_HBM0246_CURR_A 0x52
244#define SENSOR_NUM_ASIC_P1V8_VPP_HBM0246_PWR_W 0x53
245
246#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM1357_TEMP_C 0x54
247#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM1357_VOLT_V 0x55
248#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM1357_CURR_A 0x56
249#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM1357_PWR_W 0x57
250
251#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM1357_TEMP_C 0x58
252#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM1357_VOLT_V 0x59
253#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM1357_CURR_A 0x5A
254#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM1357_PWR_W 0x5B
255
256#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM1357_TEMP_C 0x5C
257#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM1357_VOLT_V 0x5D
258#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM1357_CURR_A 0x5E
259#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM1357_PWR_W 0x5F
260
261#define SENSOR_NUM_ASIC_P1V8_VPP_HBM1357_TEMP_C 0x60
262#define SENSOR_NUM_ASIC_P1V8_VPP_HBM1357_VOLT_V 0x61
263#define SENSOR_NUM_ASIC_P1V8_VPP_HBM1357_CURR_A 0x62
264#define SENSOR_NUM_ASIC_P1V8_VPP_HBM1357_PWR_W 0x63
265
266#define SENSOR_NUM_UBC1_P12V_TEMP_C 0x64
267#define SENSOR_NUM_UBC1_P12V_VOLT_V 0x65
268#define SENSOR_NUM_UBC1_P12V_CURR_A 0x66
269#define SENSOR_NUM_UBC1_P12V_PWR_W 0x67
270#define SENSOR_NUM_UBC1_P52V_INPUT_VOLT_V 0x68
271
272#define SENSOR_NUM_UBC2_P12V_TEMP_C 0x69
273#define SENSOR_NUM_UBC2_P12V_VOLT_V 0x6A
274#define SENSOR_NUM_UBC2_P12V_CURR_A 0x6B
275#define SENSOR_NUM_UBC2_P12V_PWR_W 0x6C
276#define SENSOR_NUM_UBC2_P52V_INPUT_VOLT_V 0x6D
277
278#define SENSOR_NUM_P3V3_OSFP_TEMP_C 0x6E
279#define SENSOR_NUM_P3V3_OSFP_VOLT_V 0x6F
280#define SENSOR_NUM_P3V3_OSFP_CURR_A 0x70
281#define SENSOR_NUM_P3V3_OSFP_PWR_W 0x71
282
283// VR Vin
284#define SENSOR_NUM_ASIC_P0V85_MEDHA0_VDD_INPUT_VOLT_V 0x72
285#define SENSOR_NUM_ASIC_P0V85_MEDHA1_VDD_INPUT_VOLT_V 0x73
286#define SENSOR_NUM_ASIC_P0V9_OWL_E_TRVDD_INPUT_VOLT_V 0x74
287#define SENSOR_NUM_ASIC_P0V75_OWL_E_TRVDD_INPUT_VOLT_V 0x75
288#define SENSOR_NUM_ASIC_P0V75_MAX_M_VDD_INPUT_VOLT_V 0x76
289#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM1357_INPUT_VOLT_V 0x77
290#define SENSOR_NUM_ASIC_P0V75_OWL_E_VDD_INPUT_VOLT_V 0x78
291#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM1357_INPUT_VOLT_V 0x79
292#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM1357_INPUT_VOLT_V 0x7A
293#define SENSOR_NUM_ASIC_P1V8_VPP_HBM1357_INPUT_VOLT_V 0x7B
294#define SENSOR_NUM_ASIC_P0V75_MAX_N_VDD_INPUT_VOLT_V 0x7C
295#define SENSOR_NUM_ASIC_P0V8_HAMSA_AVDD_PCIE_INPUT_VOLT_V 0x7D
296#define SENSOR_NUM_ASIC_P1V2_HAMSA_VDDHRXTX_PCIE_INPUT_VOLT_V 0x7E
297#define SENSOR_NUM_ASIC_P0V85_HAMSA_VDD_INPUT_VOLT_V 0x7F
298#define SENSOR_NUM_ASIC_P1V1_VDDQC_HBM0246_INPUT_VOLT_V 0x80
299#define SENSOR_NUM_ASIC_P1V8_VPP_HBM0246_INPUT_VOLT_V 0x81
300#define SENSOR_NUM_ASIC_P0V4_VDDQL_HBM0246_INPUT_VOLT_V 0x82
301#define SENSOR_NUM_ASIC_P0V75_VDDPHY_HBM0246_INPUT_VOLT_V 0x83
302#define SENSOR_NUM_ASIC_P0V75_OWL_W_VDD_INPUT_VOLT_V 0x84
303#define SENSOR_NUM_ASIC_P0V75_MAX_S_VDD_INPUT_VOLT_V 0x85
304#define SENSOR_NUM_ASIC_P0V9_OWL_W_TRVDD_INPUT_VOLT_V 0x86
305#define SENSOR_NUM_ASIC_P0V75_OWL_W_TRVDD_INPUT_VOLT_V 0x87
306#define SENSOR_NUM_P3V3_OSFP_INPUT_VOLT_V 0x88
307
308#define SENSOR_NUM_NUMBERS 0x89
309
310#define TMP75_TEMP_OFFSET 0x00
311#define UPDATE_INTERVAL_1S 1
312#define UPDATE_INTERVAL_5S 5
313#define UPDATE_INTERVAL_60S 60
314#define U200051_IO_ADDR (0x72 >> 1)
315
323};
324
326
328
329int plat_pldm_sensor_get_sensor_count(int thread_id);
333bool is_dc_access(uint8_t sensor_num);
342bool is_ubc_access(uint8_t sensor_num);
343bool is_temp_access(uint8_t cfg_idx);
344bool is_vr_access(uint8_t sensor_num);
345size_t char16_strlen(const char16_t *str);
346char16_t *char16_strcpy(char16_t *dest, const char16_t *src);
348
349bool get_raw_data_from_sensor_id(uint8_t sensor_id, uint8_t offset, uint8_t *val, uint8_t len);
350void change_sensor_cfg(uint8_t asic_board_id, uint8_t vr_module, uint8_t ubc_module,
351 uint8_t board_rev_id);
352uint8_t convert_vr_addr(uint8_t addr, uint8_t vr_change_mode);
353uint32_t plat_get_pdr_size(uint8_t pdr_type);
354void init_U200051_IO();
356void set_ioe_init_flag(uint8_t flag);
357uint8_t get_ioe_init_flag();
358#endif
uint32_t val
Definition: plat_util.c:43
uint8_t addr
Definition: isl69259.c:0
uint_least16_t char16_t
Definition: libutil.h:86
bool get_plat_sensor_vr_polling_enable_flag()
Definition: plat_pldm_sensor.c:9959
int plat_pldm_sensor_get_sensor_count(int thread_id)
Definition: plat_pldm_sensor.c:9234
bool is_vr_access(uint8_t sensor_num)
Definition: plat_pldm_sensor.c:9978
char16_t * char16_strcat_char(char16_t *dest)
Definition: plat_pldm_sensor.c:9370
bool is_ubc_access(uint8_t sensor_num)
Definition: plat_pldm_sensor.c:9964
SENSOR_THREAD_LIST
Definition: plat_pldm_sensor.h:229
@ UBC_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:230
@ MAX_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:235
@ TEMP_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:234
@ VR_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:233
size_t char16_strlen(const char16_t *str)
Definition: plat_pldm_sensor.c:9352
bool get_plat_sensor_ubc_polling_enable_flag()
Definition: plat_pldm_sensor.c:9949
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:9266
void set_plat_sensor_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9924
bool get_plat_sensor_temp_polling_enable_flag()
Definition: plat_pldm_sensor.c:9954
bool is_temp_access(uint8_t cfg_idx)
Definition: plat_pldm_sensor.c:9972
sensor_cfg * get_sensor_cfg_by_sensor_id(uint8_t sensor_id)
Definition: plat_pldm_sensor.c:10064
void set_plat_sensor_ubc_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9929
char16_t * char16_strcpy(char16_t *dest, const char16_t *src)
Definition: plat_pldm_sensor.c:9361
void set_plat_sensor_temp_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9934
void set_plat_sensor_vr_polling_enable_flag(bool value)
Definition: plat_pldm_sensor.c:9939
bool get_plat_sensor_polling_enable_flag()
Definition: plat_pldm_sensor.c:9944
PDR_numeric_sensor * numeric_sensor_table
Definition: pdr.c:32
PDR_numeric_sensor
Definition: pdr.h:134
uint32_t offset
Definition: pldm_firmware_update.h:0
uint16_t sensor_id
Definition: pldm_monitor.h:0
uint8_t board_rev_id
Definition: plat_class.c:35
void init_U200051_IO()
Definition: plat_pldm_sensor.c:12520
void set_ioe_init_flag(uint8_t flag)
Definition: plat_pldm_sensor.c:12511
uint8_t convert_vr_addr(uint8_t addr, uint8_t vr_change_mode)
Definition: plat_pldm_sensor.c:138
PCA9554APW_REG
Definition: plat_pldm_sensor.h:325
@ OUTPUT_PORT
Definition: plat_pldm_sensor.h:325
@ POLARITY_INVERSION
Definition: plat_pldm_sensor.h:325
@ INPUT_PORT
Definition: plat_pldm_sensor.h:325
@ CONFIG
Definition: plat_pldm_sensor.h:325
VR_ADDRESS_VIRSION
Definition: plat_pldm_sensor.h:327
@ NEW_MPS
Definition: plat_pldm_sensor.h:327
@ OLD_RNS
Definition: plat_pldm_sensor.h:327
@ MAX_VR_ADDRESS_VIRSION
Definition: plat_pldm_sensor.h:327
@ OLD_MPS
Definition: plat_pldm_sensor.h:327
@ NEW_RNS
Definition: plat_pldm_sensor.h:327
bool get_raw_data_from_sensor_id(uint8_t sensor_id, uint8_t offset, uint8_t *val, uint8_t len)
Definition: plat_pldm_sensor.c:12222
void change_sensor_cfg(uint8_t asic_board_id, uint8_t vr_module, uint8_t ubc_module, uint8_t board_rev_id)
Definition: plat_pldm_sensor.c:12290
@ EVB_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:321
@ QUICK_VR_SENSOR_THREAD_ID
Definition: plat_pldm_sensor.h:319
uint32_t plat_get_pdr_size(uint8_t pdr_type)
Definition: pdr.c:288
void quick_sensor_poll_init()
Definition: plat_sensor_table.c:74
uint8_t get_ioe_init_flag()
Definition: plat_pldm_sensor.c:12506
uint8_t sensor_num
Definition: storage_handler.h:6
Definition: sensor.h:263