blob: b4dda5e38c05748aebca6449b125fc9a5768ffa6 [file] [log] [blame]
Matthew Barthbde68592017-05-24 17:06:13 -05001groups:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -05002 - name: air_cooled_zone0_fans
3 description: Group of fan inventory objects for air cooled zone 0
Matthew Barth46e31152017-08-08 16:08:59 -05004 type: /xyz/openbmc_project/inventory
Matthew Barthbde68592017-05-24 17:06:13 -05005 members:
6 - /system/chassis/motherboard/fan0
7 - /system/chassis/motherboard/fan1
8 - /system/chassis/motherboard/fan2
9 - /system/chassis/motherboard/fan3
Matthew Barth2ca6b7b2017-06-30 11:07:51 -050010 - name: water_and_air_cooled_zone0_fans
11 description: Group of fan inventory objects for water/air cooled zone 0
Matthew Barth46e31152017-08-08 16:08:59 -050012 type: /xyz/openbmc_project/inventory
Matthew Barth2ca6b7b2017-06-30 11:07:51 -050013 members:
14 - /system/chassis/motherboard/fan0
15 - /system/chassis/motherboard/fan2
16 - /system/chassis/motherboard/fan3
Matthew Barth5cde5a62017-07-10 15:35:29 -050017 - name: zone0_ambient
18 description: Group of ambient temperature sensors for zone 0
Matthew Barth46e31152017-08-08 16:08:59 -050019 type: /xyz/openbmc_project/sensors
Matthew Barth5cde5a62017-07-10 15:35:29 -050020 members:
21 - /temperature/ambient
Matthew Barth184a1512017-08-16 10:42:54 -050022 - name: occ0_object
23 description: Dbus object containing OCC0 properties
24 type: /org/open_power/control
25 members:
26 - /occ0
27 - name: occ1_object
28 description: Dbus object containing OCC1 properties
29 type: /org/open_power/control
30 members:
31 - /occ1
32 - name: zone0_cores
33 description: Group of core temperature sensors for zone 0
34 type: /xyz/openbmc_project/sensors
35 members:
36 - /temperature/p0_core0_temp
37 - /temperature/p0_core1_temp
38 - /temperature/p0_core2_temp
39 - /temperature/p0_core3_temp
40 - /temperature/p0_core4_temp
41 - /temperature/p0_core5_temp
42 - /temperature/p0_core6_temp
43 - /temperature/p0_core7_temp
44 - /temperature/p0_core8_temp
45 - /temperature/p0_core9_temp
46 - /temperature/p0_core10_temp
47 - /temperature/p0_core11_temp
48 - /temperature/p0_core12_temp
49 - /temperature/p0_core13_temp
50 - /temperature/p0_core14_temp
51 - /temperature/p0_core15_temp
52 - /temperature/p0_core16_temp
53 - /temperature/p0_core17_temp
54 - /temperature/p0_core18_temp
55 - /temperature/p0_core19_temp
56 - /temperature/p0_core20_temp
57 - /temperature/p0_core21_temp
58 - /temperature/p0_core22_temp
59 - /temperature/p0_core23_temp
60 - /temperature/p1_core0_temp
61 - /temperature/p1_core1_temp
62 - /temperature/p1_core2_temp
63 - /temperature/p1_core3_temp
64 - /temperature/p1_core4_temp
65 - /temperature/p1_core5_temp
66 - /temperature/p1_core6_temp
67 - /temperature/p1_core7_temp
68 - /temperature/p1_core8_temp
69 - /temperature/p1_core9_temp
70 - /temperature/p1_core10_temp
71 - /temperature/p1_core11_temp
72 - /temperature/p1_core12_temp
73 - /temperature/p1_core13_temp
74 - /temperature/p1_core14_temp
75 - /temperature/p1_core15_temp
76 - /temperature/p1_core16_temp
77 - /temperature/p1_core17_temp
78 - /temperature/p1_core18_temp
79 - /temperature/p1_core19_temp
80 - /temperature/p1_core20_temp
81 - /temperature/p1_core21_temp
82 - /temperature/p1_core22_temp
83 - /temperature/p1_core23_temp
Matthew Barth7a512782017-08-16 12:43:07 -050084 - name: zone0_regulators
85 description: Group of regulator temperature sensors for zone 0
86 type: /xyz/openbmc_project/sensors
87 members:
88 - /temperature/p0_vdd_temp
89 - /temperature/p1_vdd_temp
Matthew Barth362d8232017-08-18 10:39:03 -050090 - name: zone0_dimms
91 description: Group of dimm temperature sensors for zone 0
92 type: /xyz/openbmc_project/sensors
93 members:
94 - /temperature/dimm0_temp
95 - /temperature/dimm1_temp
96 - /temperature/dimm2_temp
97 - /temperature/dimm3_temp
98 - /temperature/dimm4_temp
99 - /temperature/dimm5_temp
100 - /temperature/dimm6_temp
101 - /temperature/dimm7_temp
102 - /temperature/dimm8_temp
103 - /temperature/dimm9_temp
104 - /temperature/dimm10_temp
105 - /temperature/dimm11_temp
106 - /temperature/dimm12_temp
107 - /temperature/dimm13_temp
108 - /temperature/dimm14_temp
109 - /temperature/dimm15_temp
Matthew Barth1f8bf1d2017-09-14 13:26:06 -0500110 - name: zone0_gpu_cores
111 description: Group of gpu core temperature sensors for zone 0
112 type: /xyz/openbmc_project/sensors
113 members:
114 - /temperature/gpu0_core_temp
115 - /temperature/gpu1_core_temp
116 - /temperature/gpu2_core_temp
117 - /temperature/gpu3_core_temp
118 - /temperature/gpu4_core_temp
119 - /temperature/gpu5_core_temp
Matthew Barth184a1512017-08-16 10:42:54 -0500120
121preconditions:
122 - name: property_states_match
123 description: >
124 All defined properties must match the values given to
125 enable a set speed event otherwise fan speeds are set to full
126 parameters:
127 - groups
Matthew Barthbde68592017-05-24 17:06:13 -0500128
129actions:
130 - name: count_state_before_speed
131 description: Set the speed when a number of properties at a state
132 parameters:
133 - count
134 - property
135 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500136 - name: set_floor_from_average_sensor_value
137 description: Set floor speed from first entry with average less than key
138 parameters:
139 - map
140 - name: set_ceiling_from_average_sensor_value
141 description: Set ceiling speed based on key transition values with average
142 parameters:
143 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500144 - name: set_net_increase_speed
145 description: >
146 Set the speed increase delta based on a factor applied to
147 the delta increase size times the given value and property's
148 value difference
149 parameters:
150 - property
151 - factor
152 - delta
153 - name: set_net_decrease_speed
154 description: >
155 Set the speed decrease delta based on a factor applied to
156 the delta decrease size times the given value and property's
157 value difference
158 parameters:
159 - property
160 - factor
161 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500162
163events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500164 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500165 zone_conditions:
166 - name: air_cooled_chassis
167 zones:
168 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500169 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500170 interface: xyz.openbmc_project.Inventory.Item
171 property:
172 name: Present
173 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500174 actions:
175 - name: count_state_before_speed
176 count: 1
177 property: false
178 speed:
179 value: 10500
180 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500181 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500182 zone_conditions:
183 - name: air_cooled_chassis
184 zones:
185 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500186 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500187 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
188 property:
189 name: Functional
190 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500191 actions:
192 - name: count_state_before_speed
193 count: 1
194 property: false
195 speed:
196 value: 10500
197 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500198 - name: missing_before_high_speed_water_and_air
199 zone_conditions:
200 - name: water_and_air_cooled_chassis
201 zones:
202 - 0
203 group: water_and_air_cooled_zone0_fans
204 interface: xyz.openbmc_project.Inventory.Item
205 property:
206 name: Present
207 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500208 actions:
209 - name: count_state_before_speed
210 count: 1
211 property: false
212 speed:
213 value: 10500
214 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500215 - name: fails_before_high_speed_water_and_air
216 zone_conditions:
217 - name: water_and_air_cooled_chassis
218 zones:
219 - 0
220 group: water_and_air_cooled_zone0_fans
221 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
222 property:
223 name: Functional
224 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500225 actions:
226 - name: count_state_before_speed
227 count: 1
228 property: false
229 speed:
230 value: 10500
231 type: uint64_t
232 - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500233 zone_conditions:
234 - name: air_cooled_chassis
235 zones:
236 - 0
237 group: zone0_ambient
238 interface: xyz.openbmc_project.Sensor.Value
239 property:
240 name: Value
241 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500242 actions:
243 - name: set_floor_from_average_sensor_value
244 map:
245 value:
246 - 27000: 10500
247 - 32000: 10500
248 - 37000: 10500
249 - 40000: 10500
250 type: std::map<int64_t, uint64_t>
251 - name: set_ceiling_from_average_sensor_value
252 map:
253 value:
254 - 25000: 10500
255 - 27000: 10500
256 type: std::map<int64_t, uint64_t>
257 - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500258 zone_conditions:
259 - name: water_and_air_cooled_chassis
260 zones:
261 - 0
262 group: zone0_ambient
263 interface: xyz.openbmc_project.Sensor.Value
264 property:
265 name: Value
266 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500267 actions:
268 - name: set_floor_from_average_sensor_value
269 map:
270 value:
271 - 27000: 10500
272 - 32000: 10500
273 - 37000: 10500
274 - 40000: 10500
275 type: std::map<int64_t, uint64_t>
276 - name: set_ceiling_from_average_sensor_value
277 map:
278 value:
279 - 25000: 10500
280 - 27000: 10500
281 type: std::map<int64_t, uint64_t>
282 - name: speed_changes_based_on_regulator_temps
Matthew Barth7a512782017-08-16 12:43:07 -0500283 zone_conditions:
284 - name: air_cooled_chassis
285 zones:
286 - 0
287 - name: water_and_air_cooled_chassis
288 zones:
289 - 0
290 group: zone0_regulators
291 interface: xyz.openbmc_project.Sensor.Value
292 property:
293 name: Value
294 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500295 actions:
296 - name: set_net_increase_speed
297 property: 85000
298 factor:
299 value: 1000
300 type: int64_t
301 delta:
302 value: 400
303 type: uint64_t
304 - name: set_net_decrease_speed
305 property: 82000
306 factor:
307 value: 1000
308 type: int64_t
309 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500310 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500311 type: uint64_t
Matthew Barth7a512782017-08-16 12:43:07 -0500312 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500313 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500314 - name: occ_active_speed_changes
Matthew Barth362d8232017-08-18 10:39:03 -0500315 precondition:
316 name: property_states_match
317 groups:
318 - name: occ0_object
319 interface: org.open_power.OCC.Status
320 property:
321 name: OccActive
322 type: bool
323 value: true
324 - name: occ1_object
325 interface: org.open_power.OCC.Status
326 property:
327 name: OccActive
328 type: bool
329 value: true
Matthew Barth2e104962017-09-14 12:32:49 -0500330 events:
331 - name: speed_changes_based_on_core_temps
332 zone_conditions:
333 - name: air_cooled_chassis
334 zones:
335 - 0
336 group: zone0_cores
337 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500338 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500339 name: Value
340 type: int64_t
341 actions:
342 - name: set_net_increase_speed
343 property: 73000
344 factor:
345 value: 1000
346 type: int64_t
347 delta:
348 value: 400
349 type: uint64_t
350 - name: set_net_decrease_speed
351 property: 70000
352 factor:
353 value: 1000
354 type: int64_t
355 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500356 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500357 type: uint64_t
358 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500359 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500360 - name: speed_changes_based_on_dimm_temps
361 zone_conditions:
362 - name: air_cooled_chassis
363 zones:
364 - 0
365 - name: water_and_air_cooled_chassis
366 zones:
367 - 0
368 group: zone0_dimms
369 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500370 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500371 name: Value
372 type: int64_t
373 actions:
374 - name: set_net_increase_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500375 property: 64000
Matthew Barth2e104962017-09-14 12:32:49 -0500376 factor:
377 value: 1000
378 type: int64_t
379 delta:
380 value: 200
381 type: uint64_t
382 - name: set_net_decrease_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500383 property: 61000
Matthew Barth2e104962017-09-14 12:32:49 -0500384 factor:
385 value: 1000
386 type: int64_t
387 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500388 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500389 type: uint64_t
390 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500391 interval: 5
Matthew Barth1f8bf1d2017-09-14 13:26:06 -0500392 - name: speed_changes_based_on_gpu_core_temps
393 zone_conditions:
394 - name: air_cooled_chassis
395 zones:
396 - 0
397 - name: water_and_air_cooled_chassis
398 zones:
399 - 0
400 group: zone0_gpu_cores
401 interface: xyz.openbmc_project.Sensor.Value
402 property:
403 name: Value
404 type: int64_t
405 actions:
406 - name: set_net_increase_speed
407 property: 78000
408 factor:
409 value: 1000
410 type: int64_t
411 delta:
412 value: 600
413 type: uint64_t
414 - name: set_net_decrease_speed
415 property: 75000
416 factor:
417 value: 1000
418 type: int64_t
419 delta:
420 value: 40
421 type: uint64_t
422 timer:
423 interval: 5