blob: 52fcfdd79c700c2051cc503b66bdf79f729784a9 [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 Barth1181f282017-09-15 14:53:01 -050022 - name: zone0_fan_tachs
23 description: Group of fan tach feedback speed inputs for zone 0
24 type: /xyz/openbmc_project/sensors
25 members:
26 - /fan_tach/fan0_0
27 - /fan_tach/fan0_1
28 - /fan_tach/fan1_0
29 - /fan_tach/fan1_1
30 - /fan_tach/fan2_0
31 - /fan_tach/fan2_1
32 - /fan_tach/fan3_0
33 - /fan_tach/fan3_1
Matthew Barth184a1512017-08-16 10:42:54 -050034 - name: occ0_object
35 description: Dbus object containing OCC0 properties
36 type: /org/open_power/control
37 members:
38 - /occ0
39 - name: occ1_object
40 description: Dbus object containing OCC1 properties
41 type: /org/open_power/control
42 members:
43 - /occ1
44 - name: zone0_cores
45 description: Group of core temperature sensors for zone 0
46 type: /xyz/openbmc_project/sensors
47 members:
48 - /temperature/p0_core0_temp
49 - /temperature/p0_core1_temp
50 - /temperature/p0_core2_temp
51 - /temperature/p0_core3_temp
52 - /temperature/p0_core4_temp
53 - /temperature/p0_core5_temp
54 - /temperature/p0_core6_temp
55 - /temperature/p0_core7_temp
56 - /temperature/p0_core8_temp
57 - /temperature/p0_core9_temp
58 - /temperature/p0_core10_temp
59 - /temperature/p0_core11_temp
60 - /temperature/p0_core12_temp
61 - /temperature/p0_core13_temp
62 - /temperature/p0_core14_temp
63 - /temperature/p0_core15_temp
64 - /temperature/p0_core16_temp
65 - /temperature/p0_core17_temp
66 - /temperature/p0_core18_temp
67 - /temperature/p0_core19_temp
68 - /temperature/p0_core20_temp
69 - /temperature/p0_core21_temp
70 - /temperature/p0_core22_temp
71 - /temperature/p0_core23_temp
72 - /temperature/p1_core0_temp
73 - /temperature/p1_core1_temp
74 - /temperature/p1_core2_temp
75 - /temperature/p1_core3_temp
76 - /temperature/p1_core4_temp
77 - /temperature/p1_core5_temp
78 - /temperature/p1_core6_temp
79 - /temperature/p1_core7_temp
80 - /temperature/p1_core8_temp
81 - /temperature/p1_core9_temp
82 - /temperature/p1_core10_temp
83 - /temperature/p1_core11_temp
84 - /temperature/p1_core12_temp
85 - /temperature/p1_core13_temp
86 - /temperature/p1_core14_temp
87 - /temperature/p1_core15_temp
88 - /temperature/p1_core16_temp
89 - /temperature/p1_core17_temp
90 - /temperature/p1_core18_temp
91 - /temperature/p1_core19_temp
92 - /temperature/p1_core20_temp
93 - /temperature/p1_core21_temp
94 - /temperature/p1_core22_temp
95 - /temperature/p1_core23_temp
Matthew Barth7a512782017-08-16 12:43:07 -050096 - name: zone0_regulators
97 description: Group of regulator temperature sensors for zone 0
98 type: /xyz/openbmc_project/sensors
99 members:
100 - /temperature/p0_vdd_temp
101 - /temperature/p1_vdd_temp
Matthew Barth362d8232017-08-18 10:39:03 -0500102 - name: zone0_dimms
103 description: Group of dimm temperature sensors for zone 0
104 type: /xyz/openbmc_project/sensors
105 members:
106 - /temperature/dimm0_temp
107 - /temperature/dimm1_temp
108 - /temperature/dimm2_temp
109 - /temperature/dimm3_temp
110 - /temperature/dimm4_temp
111 - /temperature/dimm5_temp
112 - /temperature/dimm6_temp
113 - /temperature/dimm7_temp
114 - /temperature/dimm8_temp
115 - /temperature/dimm9_temp
116 - /temperature/dimm10_temp
117 - /temperature/dimm11_temp
118 - /temperature/dimm12_temp
119 - /temperature/dimm13_temp
120 - /temperature/dimm14_temp
121 - /temperature/dimm15_temp
Matthew Barth1f8bf1d2017-09-14 13:26:06 -0500122 - name: zone0_gpu_cores
123 description: Group of gpu core temperature sensors for zone 0
124 type: /xyz/openbmc_project/sensors
125 members:
126 - /temperature/gpu0_core_temp
127 - /temperature/gpu1_core_temp
128 - /temperature/gpu2_core_temp
129 - /temperature/gpu3_core_temp
130 - /temperature/gpu4_core_temp
131 - /temperature/gpu5_core_temp
Matthew Barthfe1823a2017-09-14 13:39:49 -0500132 - name: zone0_gpu_memory
133 description: Group of gpu memory temperature sensors for zone 0
134 type: /xyz/openbmc_project/sensors
135 members:
136 - /temperature/gpu0_mem_temp
137 - /temperature/gpu1_mem_temp
138 - /temperature/gpu2_mem_temp
139 - /temperature/gpu3_mem_temp
140 - /temperature/gpu4_mem_temp
141 - /temperature/gpu5_mem_temp
Matthew Barth336e2622017-10-13 14:45:27 -0500142 - name: zone0_pcie
143 description: Group of pcie temperature sensors for zone 0
144 type: /xyz/openbmc_project/sensors
145 members:
146 - /temperature/pcie
Matthew Barth184a1512017-08-16 10:42:54 -0500147
148preconditions:
149 - name: property_states_match
150 description: >
151 All defined properties must match the values given to
152 enable a set speed event otherwise fan speeds are set to full
153 parameters:
154 - groups
Matthew Barthbde68592017-05-24 17:06:13 -0500155
156actions:
Matthew Barth1181f282017-09-15 14:53:01 -0500157 - name: set_request_speed_base_with_max
158 description: >
159 Set the base request speed of a zone to the max value of a group for
160 calculating a new target speed
Matthew Barthbde68592017-05-24 17:06:13 -0500161 - name: count_state_before_speed
162 description: Set the speed when a number of properties at a state
163 parameters:
164 - count
165 - property
166 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500167 - name: set_floor_from_average_sensor_value
168 description: Set floor speed from first entry with average less than key
169 parameters:
170 - map
171 - name: set_ceiling_from_average_sensor_value
172 description: Set ceiling speed based on key transition values with average
173 parameters:
174 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500175 - name: set_net_increase_speed
176 description: >
177 Set the speed increase delta based on a factor applied to
178 the delta increase size times the given value and property's
179 value difference
180 parameters:
181 - property
182 - factor
183 - delta
184 - name: set_net_decrease_speed
185 description: >
186 Set the speed decrease delta based on a factor applied to
187 the delta decrease size times the given value and property's
188 value difference
189 parameters:
190 - property
191 - factor
192 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500193
194events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500195 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500196 zone_conditions:
197 - name: air_cooled_chassis
198 zones:
199 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500200 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500201 interface: xyz.openbmc_project.Inventory.Item
202 property:
203 name: Present
204 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500205 actions:
206 - name: count_state_before_speed
207 count: 1
208 property: false
209 speed:
210 value: 10500
211 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500212 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500213 zone_conditions:
214 - name: air_cooled_chassis
215 zones:
216 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500217 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500218 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
219 property:
220 name: Functional
221 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500222 actions:
223 - name: count_state_before_speed
224 count: 1
225 property: false
226 speed:
227 value: 10500
228 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500229 - name: missing_before_high_speed_water_and_air
230 zone_conditions:
231 - name: water_and_air_cooled_chassis
232 zones:
233 - 0
234 group: water_and_air_cooled_zone0_fans
235 interface: xyz.openbmc_project.Inventory.Item
236 property:
237 name: Present
238 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500239 actions:
240 - name: count_state_before_speed
241 count: 1
242 property: false
243 speed:
244 value: 10500
245 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500246 - name: fails_before_high_speed_water_and_air
247 zone_conditions:
248 - name: water_and_air_cooled_chassis
249 zones:
250 - 0
251 group: water_and_air_cooled_zone0_fans
252 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
253 property:
254 name: Functional
255 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500256 actions:
257 - name: count_state_before_speed
258 count: 1
259 property: false
260 speed:
261 value: 10500
262 type: uint64_t
263 - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500264 zone_conditions:
265 - name: air_cooled_chassis
266 zones:
267 - 0
268 group: zone0_ambient
269 interface: xyz.openbmc_project.Sensor.Value
270 property:
271 name: Value
272 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500273 actions:
274 - name: set_floor_from_average_sensor_value
275 map:
276 value:
Matthew Barth0359dc92017-10-16 15:57:20 -0500277 - 27000: 7200
278 - 32000: 7200
279 - 37000: 7200
280 - 40000: 7200
Matthew Barth2e104962017-09-14 12:32:49 -0500281 type: std::map<int64_t, uint64_t>
282 - name: set_ceiling_from_average_sensor_value
283 map:
284 value:
Matthew Barth0359dc92017-10-16 15:57:20 -0500285 - 25000: 7200
Matthew Barth2e104962017-09-14 12:32:49 -0500286 - 27000: 10500
287 type: std::map<int64_t, uint64_t>
288 - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500289 zone_conditions:
290 - name: water_and_air_cooled_chassis
291 zones:
292 - 0
293 group: zone0_ambient
294 interface: xyz.openbmc_project.Sensor.Value
295 property:
296 name: Value
297 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500298 actions:
299 - name: set_floor_from_average_sensor_value
300 map:
301 value:
Matthew Barth0692acb2017-11-02 13:03:11 -0500302 - 27000: 3000
303 - 32000: 4300
304 - 37000: 5000
305 - 40000: 5800
Matthew Barth2e104962017-09-14 12:32:49 -0500306 type: std::map<int64_t, uint64_t>
307 - name: set_ceiling_from_average_sensor_value
308 map:
309 value:
Matthew Barth0359dc92017-10-16 15:57:20 -0500310 - 25000: 7200
Matthew Barth2e104962017-09-14 12:32:49 -0500311 - 27000: 10500
312 type: std::map<int64_t, uint64_t>
Matthew Barth1181f282017-09-15 14:53:01 -0500313 - name: set_base_request_speed_to_max_tach_feedback
314 zone_conditions:
315 - name: air_cooled_chassis
316 zones:
317 - 0
318 - name: water_and_air_cooled_chassis
319 zones:
320 - 0
321 group: zone0_fan_tachs
322 interface: xyz.openbmc_project.Sensor.Value
323 property:
324 name: Value
325 type: int64_t
326 actions:
327 - name: set_request_speed_base_with_max
Matthew Barth2e104962017-09-14 12:32:49 -0500328 - name: speed_changes_based_on_regulator_temps
Matthew Barth7a512782017-08-16 12:43:07 -0500329 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600330 - name: air_cooled_chassis
331 zones:
332 - 0
Matthew Barth7a512782017-08-16 12:43:07 -0500333 - name: water_and_air_cooled_chassis
334 zones:
335 - 0
336 group: zone0_regulators
337 interface: xyz.openbmc_project.Sensor.Value
338 property:
339 name: Value
340 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500341 actions:
342 - name: set_net_increase_speed
343 property: 85000
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: 82000
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
Matthew Barth7a512782017-08-16 12:43:07 -0500358 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500359 interval: 5
Matthew Barth336e2622017-10-13 14:45:27 -0500360 - name: speed_changes_based_on_pcie_temps
361 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600362 - name: air_cooled_chassis
363 zones:
364 - 0
Matthew Barth336e2622017-10-13 14:45:27 -0500365 - name: water_and_air_cooled_chassis
366 zones:
367 - 0
368 group: zone0_pcie
369 interface: xyz.openbmc_project.Sensor.Value
370 property:
371 name: Value
372 type: int64_t
373 actions:
374 - name: set_net_increase_speed
375 property: 55000
376 factor:
377 value: 1000
378 type: int64_t
379 delta:
380 value: 400
381 type: uint64_t
382 - name: set_net_decrease_speed
383 property: 52000
384 factor:
385 value: 1000
386 type: int64_t
387 delta:
388 value: 40
389 type: uint64_t
390 timer:
391 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500392 - name: occ_active_speed_changes
Matthew Barth362d8232017-08-18 10:39:03 -0500393 precondition:
394 name: property_states_match
395 groups:
396 - name: occ0_object
397 interface: org.open_power.OCC.Status
398 property:
399 name: OccActive
400 type: bool
401 value: true
402 - name: occ1_object
403 interface: org.open_power.OCC.Status
404 property:
405 name: OccActive
406 type: bool
407 value: true
Matthew Barth2e104962017-09-14 12:32:49 -0500408 events:
Matthew Barth173cc482017-11-08 11:02:33 -0600409 - name: speed_changes_based_on_core_temps
410 zone_conditions:
411 - name: air_cooled_chassis
412 zones:
413 - 0
414 group: zone0_cores
415 interface: xyz.openbmc_project.Sensor.Value
416 property:
417 name: Value
418 type: int64_t
419 actions:
420 - name: set_net_increase_speed
421 property: 73000
422 factor:
423 value: 1000
424 type: int64_t
425 delta:
426 value: 400
427 type: uint64_t
428 - name: set_net_decrease_speed
429 property: 70000
430 factor:
431 value: 1000
432 type: int64_t
433 delta:
434 value: 40
435 type: uint64_t
436 timer:
437 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500438 - name: speed_changes_based_on_dimm_temps
439 zone_conditions:
Matthew Barth173cc482017-11-08 11:02:33 -0600440 - name: air_cooled_chassis
441 zones:
442 - 0
Matthew Barth2e104962017-09-14 12:32:49 -0500443 - name: water_and_air_cooled_chassis
444 zones:
445 - 0
446 group: zone0_dimms
447 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500448 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500449 name: Value
450 type: int64_t
451 actions:
452 - name: set_net_increase_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500453 property: 64000
Matthew Barth2e104962017-09-14 12:32:49 -0500454 factor:
455 value: 1000
456 type: int64_t
457 delta:
458 value: 200
459 type: uint64_t
460 - name: set_net_decrease_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500461 property: 61000
Matthew Barth2e104962017-09-14 12:32:49 -0500462 factor:
463 value: 1000
464 type: int64_t
465 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500466 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500467 type: uint64_t
468 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500469 interval: 5
Matthew Barth173cc482017-11-08 11:02:33 -0600470 - name: speed_changes_based_on_gpu_core_temps
471 zone_conditions:
472 - name: air_cooled_chassis
473 zones:
474 - 0
475 group: zone0_gpu_cores
476 interface: xyz.openbmc_project.Sensor.Value
477 property:
478 name: Value
479 type: int64_t
480 actions:
481 - name: set_net_increase_speed
482 property: 78000
483 factor:
484 value: 1000
485 type: int64_t
486 delta:
487 value: 600
488 type: uint64_t
489 - name: set_net_decrease_speed
490 property: 75000
491 factor:
492 value: 1000
493 type: int64_t
494 delta:
495 value: 40
496 type: uint64_t
497 timer:
498 interval: 5
499 - name: speed_changes_based_on_gpu_memory_temps
500 zone_conditions:
501 - name: air_cooled_chassis
502 zones:
503 - 0
504 group: zone0_gpu_memory
505 interface: xyz.openbmc_project.Sensor.Value
506 property:
507 name: Value
508 type: int64_t
509 actions:
510 - name: set_net_increase_speed
511 property: 80000
512 factor:
513 value: 1000
514 type: int64_t
515 delta:
516 value: 600
517 type: uint64_t
518 - name: set_net_decrease_speed
519 property: 77000
520 factor:
521 value: 1000
522 type: int64_t
523 delta:
524 value: 40
525 type: uint64_t
526 timer:
527 interval: 5