blob: 386f4b7c7c9d55e8208eaecf180d949aa5cd325b [file] [log] [blame]
Ben_Pai949f9142019-08-05 18:34:34 +08001groups:
2 - name: zone0_control_mode
3 description: Thermal control mode for zone 0
4 service: xyz.openbmc_project.Control.Thermal
5 type: /xyz/openbmc_project/control/thermal
6 members:
7 - /0
8 - name: air_cooled_zone0_fans
9 description: Group of fan inventory objects for air cooled zone 0
10 type: /xyz/openbmc_project/inventory
11 members:
12 - /system/chassis/motherboard/fan0
13 - /system/chassis/motherboard/fan1
14 - /system/chassis/motherboard/fan2
15 - /system/chassis/motherboard/fan3
16 - /system/chassis/motherboard/fan4
17 - /system/chassis/motherboard/fan5
18 - name: zone0_ambient
19 description: Group of ambient temperature sensors for zone 0
20 type: /xyz/openbmc_project/sensors
21 members:
22 - /temperature/ambient_temp
23 - name: occ0_object
24 description: Dbus object containing OCC0 properties
25 type: /org/open_power/control
26 members:
27 - /occ0
28 - name: occ1_object
29 description: Dbus object containing OCC1 properties
30 type: /org/open_power/control
31 members:
32 - /occ1
33 - name: zone0_cores
34 description: Group of core temperature sensors for zone 0
35 type: /xyz/openbmc_project/sensors
36 members:
37 - /temperature/p0_core0_temp
38 - /temperature/p0_core1_temp
39 - /temperature/p0_core2_temp
40 - /temperature/p0_core3_temp
41 - /temperature/p0_core4_temp
42 - /temperature/p0_core5_temp
43 - /temperature/p0_core6_temp
44 - /temperature/p0_core7_temp
45 - /temperature/p0_core8_temp
46 - /temperature/p0_core9_temp
47 - /temperature/p0_core10_temp
48 - /temperature/p0_core11_temp
49 - /temperature/p0_core12_temp
50 - /temperature/p0_core13_temp
51 - /temperature/p0_core14_temp
52 - /temperature/p0_core15_temp
53 - /temperature/p0_core16_temp
54 - /temperature/p0_core17_temp
55 - /temperature/p0_core18_temp
56 - /temperature/p0_core19_temp
57 - /temperature/p0_core20_temp
58 - /temperature/p0_core21_temp
59 - /temperature/p0_core22_temp
60 - /temperature/p0_core23_temp
61 - /temperature/p1_core0_temp
62 - /temperature/p1_core1_temp
63 - /temperature/p1_core2_temp
64 - /temperature/p1_core3_temp
65 - /temperature/p1_core4_temp
66 - /temperature/p1_core5_temp
67 - /temperature/p1_core6_temp
68 - /temperature/p1_core7_temp
69 - /temperature/p1_core8_temp
70 - /temperature/p1_core9_temp
71 - /temperature/p1_core10_temp
72 - /temperature/p1_core11_temp
73 - /temperature/p1_core12_temp
74 - /temperature/p1_core13_temp
75 - /temperature/p1_core14_temp
76 - /temperature/p1_core15_temp
77 - /temperature/p1_core16_temp
78 - /temperature/p1_core17_temp
79 - /temperature/p1_core18_temp
80 - /temperature/p1_core19_temp
81 - /temperature/p1_core20_temp
82 - /temperature/p1_core21_temp
83 - /temperature/p1_core22_temp
84 - /temperature/p1_core23_temp
85 - name: zone0_dimms
86 description: Group of dimm temperature sensors for zone 0
87 type: /xyz/openbmc_project/sensors
88 members:
89 - /temperature/dimm0_temp
90 - /temperature/dimm1_temp
91 - /temperature/dimm2_temp
92 - /temperature/dimm3_temp
93 - /temperature/dimm4_temp
94 - /temperature/dimm5_temp
95 - /temperature/dimm6_temp
96 - /temperature/dimm7_temp
97 - /temperature/dimm8_temp
98 - /temperature/dimm9_temp
99 - /temperature/dimm10_temp
100 - /temperature/dimm11_temp
101 - /temperature/dimm12_temp
102 - /temperature/dimm13_temp
103 - /temperature/dimm14_temp
104 - /temperature/dimm15_temp
105 - /temperature/dimm16_temp
106 - /temperature/dimm17_temp
107 - /temperature/dimm18_temp
108 - /temperature/dimm19_temp
109 - /temperature/dimm20_temp
110 - /temperature/dimm21_temp
111 - /temperature/dimm22_temp
112 - /temperature/dimm23_temp
113 - /temperature/dimm24_temp
114 - /temperature/dimm25_temp
115 - /temperature/dimm26_temp
116 - /temperature/dimm27_temp
117 - /temperature/dimm28_temp
118 - /temperature/dimm29_temp
119 - /temperature/dimm30_temp
120 - /temperature/dimm31_temp
121 - name: zone0_onboard
122 description: Group of onboard temperature sensors for zone 0
123 type: /xyz/openbmc_project/sensors
124 members:
125 - /temperature/p0_pcie_temp
126 - /temperature/p1_pcie_temp
127 - name: zone0_vrd
128 description: Group of vrd temperature sensors for zone 0
129 type: /xyz/openbmc_project/sensors
130 members:
131 - /temperature/p0_vcs_temp
132 - /temperature/p0_vdn_temp
133 - /temperature/p1_vcs_temp
134 - /temperature/p1_vdn_temp
135 - /temperature/p0_vdd_temp
136 - /temperature/p1_vdd_temp
Ben_Pai2ecdfbd2019-09-27 10:08:18 +0800137 - name: zone0_gpu
138 description: Group of gpu temperature sensors for zone 0
139 type: /xyz/openbmc_project/sensors
140 members:
141 - /temperature/gpu0
142 - /temperature/gpu1
143 - /temperature/gpu2
144 - /temperature/gpu3
145 - /temperature/gpu4
146 - /temperature/gpu5
147 - /temperature/gpu6
148 - /temperature/gpu7
Ben_Pai949f9142019-08-05 18:34:34 +0800149matches:
150 - name: propertiesChanged
Ben_Pai949f9142019-08-05 18:34:34 +0800151 parameters:
152 - object
153 - interface
Ben_Pai3e3ec102019-09-03 14:17:12 +0800154 - name: interfacesAdded
155 parameters:
156 - object
157 - name: interfacesRemoved
158 parameters:
159 - object
160 - name: nameOwnerChanged
161 parameters:
162 - object
163 - interface
164
165signals:
166 - name: propertiesChanged
167 description: >
168 A property changed match
169 parameters:
170 - type
171 - object
172 - interface
173 - property
174 match: propertiesChanged
Ben_Pai949f9142019-08-05 18:34:34 +0800175 - name: interfacesAdded
176 description: >
177 An interfaces added match
178 parameters:
Ben_Pai3e3ec102019-09-03 14:17:12 +0800179 - type
Ben_Pai949f9142019-08-05 18:34:34 +0800180 - object
Ben_Pai3e3ec102019-09-03 14:17:12 +0800181 - interface
182 - property
183 match: interfacesAdded
Ben_Pai949f9142019-08-05 18:34:34 +0800184 - name: interfacesRemoved
185 description: >
186 An interfaces removed match
187 parameters:
188 - object
Ben_Pai3e3ec102019-09-03 14:17:12 +0800189 - interface
190 match: interfacesRemoved
Ben_Pai949f9142019-08-05 18:34:34 +0800191 - name: nameOwnerChanged
192 description: >
193 A name owner changed match
194 parameters:
Ben_Pai3e3ec102019-09-03 14:17:12 +0800195 match: nameOwnerChanged
Ben_Pai949f9142019-08-05 18:34:34 +0800196
Ben_Pai3e3ec102019-09-03 14:17:12 +0800197methods:
198 - name: getProperties
Ben_Pai949f9142019-08-05 18:34:34 +0800199 description: >
Ben_Pai3e3ec102019-09-03 14:17:12 +0800200 Get the property values of the given group members
201 by performing a `GetProperty` method call on each
Ben_Pai949f9142019-08-05 18:34:34 +0800202 parameters:
203 - type
Ben_Pai3e3ec102019-09-03 14:17:12 +0800204 - name: nameHasOwner
Ben_Pai949f9142019-08-05 18:34:34 +0800205 description: >
Ben_Pai3e3ec102019-09-03 14:17:12 +0800206 A NameHasOwner method call to be performed on all event group members
Ben_Pai949f9142019-08-05 18:34:34 +0800207 parameters:
Ben_Pai949f9142019-08-05 18:34:34 +0800208
209handlers:
210 - name: setProperty
211 description: >
212 Sets a value for the given object/interface/property
213 parameters:
214 - type
Ben_Pai949f9142019-08-05 18:34:34 +0800215 - name: setService
216 description: >
217 Sets the service name and ownership status for the given group
218 parameters:
219 - group
220 - name: removeInterface
221 description: >
222 Removes an interface(and all associated properties) on the
223 given object from use within all event actions
224 parameters:
225 - object
226 - interface
227
228preconditions:
229 - name: property_states_match
230 description: >
231 All defined properties must match the values given to
232 enable a set speed event otherwise fan speeds are set to full
233 parameters:
234 - groups
Ben_Pai3e3ec102019-09-03 14:17:12 +0800235 - name: services_missing_owner
236 description: >
237 Any services missing an owner enable the events given otherwise
238 the events are removed/disabled
239 parameters:
Ben_Pai949f9142019-08-05 18:34:34 +0800240
241actions:
242 - name: call_actions_based_on_timer
243 description: >
244 Sets up a list of actions to be invoked when the defined timer
245 expires (or for each expiration of a repeating timer)
246 parameters:
247 - timer
248 - actions
249 - name: default_floor_on_missing_owner
250 description: >
251 Set the fan floor to the default floor
252 - name: set_speed_on_missing_owner
253 description: >
254 Set fans to the given speed when any service within the group
255 no longer exists
256 parameters:
257 - speed
258 - name: set_request_speed_base_with_max
259 description: >
260 Set the base request speed of a zone to the max value of a group for
261 calculating a new target speed
262 - name: count_state_before_speed
263 description: Set the speed when a number of properties at a state
264 parameters:
265 - count
266 - property
267 - speed
268 - name: set_floor_from_average_sensor_value
269 description: Set floor speed from first entry with average less than key
270 parameters:
271 - map
272 - name: set_ceiling_from_average_sensor_value
273 description: Set ceiling speed based on key transition values with average
274 parameters:
275 - map
276 - name: set_net_increase_speed
277 description: >
278 Set the speed increase delta based on a factor applied to
279 the delta increase size times the given value and property's
280 value difference
281 parameters:
282 - property
283 - factor
284 - delta
285 - name: set_net_decrease_speed
286 description: >
287 Set the speed decrease delta based on a factor applied to
288 the delta decrease size times the given value and property's
289 value difference
290 parameters:
291 - property
292 - factor
293 - delta
294 - name: use_alternate_events_on_state
295 description: >
296 Replaces a set of default events with an alternate set of events
297 when all the group properties are at a given state
298 parameters:
299 - property
300 - defevents
301 - altevents
302
303events:
Ben Paid0a123b2019-11-28 19:00:09 +0800304 - name: default_fan_floor_on_service_fail
305 precondition:
306 name: services_missing_owner
307 groups:
308 - name: zone0_ambient
309 interface: xyz.openbmc_project.Sensor.Value
310 property:
311 name: Value
312 type: int64_t
313 triggers:
314 - name: init
315 method: nameHasOwner
316 handler: setService
317 - name: signal
318 signal: nameOwnerChanged
319 handler: setService
320 events:
321 - name: default_fan_floor
322 groups:
323 - name: zone0_ambient
324 interface: xyz.openbmc_project.Sensor.Value
325 property:
326 name: Value
327 type: int64_t
328 triggers:
329 - name: timer
330 interval: 5000000
331 type: oneshot
332 actions:
333 - name: default_floor_on_missing_owner
334 - name: high_speed_on_occ_service_fails
335 groups:
336 - name: occ0_object
337 interface: org.open_power.OCC.Status
338 property:
339 name: OccActive
340 type: bool
341 - name: occ1_object
342 interface: org.open_power.OCC.Status
343 property:
344 name: OccActive
345 type: bool
346 triggers:
347 - name: init
348 method: nameHasOwner
349 handler: setService
350 - name: signal
351 signal: nameOwnerChanged
352 handler: setService
353 actions:
354 - name: call_actions_based_on_timer
355 timer:
356 interval: 5000000
357 type: oneshot
358 actions:
359 - name: set_speed_on_missing_owner
360 speed:
361 value: 255
362 type: uint64_t
Ben_Pai3e3ec102019-09-03 14:17:12 +0800363 - name: missing_or_fails_before_high_speed_air
Ben_Pai949f9142019-08-05 18:34:34 +0800364 groups:
365 - name: air_cooled_zone0_fans
366 zone_conditions:
367 - name: air_cooled_chassis
368 zones:
369 - 0
370 interface: xyz.openbmc_project.Inventory.Item
371 property:
372 name: Present
373 type: bool
Ben_Pai949f9142019-08-05 18:34:34 +0800374 - name: air_cooled_zone0_fans
375 zone_conditions:
376 - name: air_cooled_chassis
377 zones:
378 - 0
379 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
380 property:
381 name: Functional
382 type: bool
Ben_Pai3e3ec102019-09-03 14:17:12 +0800383 triggers:
384 - name: init
385 method: getProperties
386 handler: setProperty
387 - name: signal
388 signal: propertiesChanged
389 handler: setProperty
Ben_Pai949f9142019-08-05 18:34:34 +0800390 actions:
391 - name: count_state_before_speed
392 count: 1
393 property:
394 value: false
395 type: bool
396 speed:
397 value: 255
398 type: uint64_t
399 - name: set_air_cooled_speed_boundaries_based_on_ambient
400 groups:
401 - name: zone0_control_mode
402 zone_conditions:
403 - name: air_cooled_chassis
404 zones:
405 - 0
406 interface: xyz.openbmc_project.Control.ThermalMode
407 property:
408 name: Current
409 type: std::string
Ben_Pai3e3ec102019-09-03 14:17:12 +0800410 triggers:
411 - name: init
412 method: getProperties
413 handler: setProperty
414 - name: signal
415 signal: propertiesChanged
416 handler: setProperty
Ben_Pai949f9142019-08-05 18:34:34 +0800417 actions:
418 - name: use_alternate_events_on_state
419 property:
420 value: CUSTOM
421 type: std::string
422 defevents:
423 - name: default_floor_boundary
424 groups:
425 - name: zone0_ambient
426 zone_conditions:
427 - name: air_cooled_chassis
428 zones:
429 - 0
430 interface: xyz.openbmc_project.Sensor.Value
431 property:
432 name: Value
433 type: int64_t
Ben_Pai3e3ec102019-09-03 14:17:12 +0800434 triggers:
435 - name: init
436 method: getProperties
437 handler: setProperty
438 - name: signal
439 signal: propertiesChanged
440 handler: setProperty
Ben_Pai949f9142019-08-05 18:34:34 +0800441 actions:
442 - name: set_floor_from_average_sensor_value
443 map:
444 value:
445 - 25000: 85
446 - 26000: 85
447 - 28000: 97
448 - 31000: 116
449 - 33000: 128
450 - 36000: 148
451 - 38000: 160
452 - 41000: 255
453 type: std::map<int64_t, uint64_t>
454 - name: set_ceiling_from_average_sensor_value
455 map:
456 value:
457 - 25000: 255
458 - 27000: 255
459 type: std::map<int64_t, uint64_t>
460 altevents:
461 - name: alternate_floor_boundary
462 groups:
463 - name: zone0_ambient
464 zone_conditions:
465 - name: air_cooled_chassis
466 zones:
467 - 0
468 interface: xyz.openbmc_project.Sensor.Value
469 property:
470 name: Value
471 type: int64_t
Ben_Pai3e3ec102019-09-03 14:17:12 +0800472 triggers:
473 - name: init
474 method: getProperties
475 handler: setProperty
476 - name: signal
477 signal: propertiesChanged
478 handler: setProperty
Ben_Pai949f9142019-08-05 18:34:34 +0800479 actions:
480 - name: set_floor_from_average_sensor_value
481 map:
482 value:
483 - 25000: 255
484 - 26000: 255
485 - 28000: 255
486 - 31000: 255
487 - 33000: 255
488 - 36000: 255
489 - 38000: 255
490 - 41000: 255
491 type: std::map<int64_t, uint64_t>
492 - name: set_ceiling_from_average_sensor_value
493 map:
494 value:
495 - 25000: 255
496 - 27000: 255
497 type: std::map<int64_t, uint64_t>
498 - name: occ_active_speed_changes
499 precondition:
500 name: property_states_match
501 groups:
502 - name: occ0_object
503 interface: org.open_power.OCC.Status
504 property:
505 name: OccActive
506 type: bool
507 value: true
508 - name: occ1_object
509 interface: org.open_power.OCC.Status
510 property:
511 name: OccActive
512 type: bool
513 value: true
Ben_Pai3e3ec102019-09-03 14:17:12 +0800514 triggers:
515 - name: init
516 method: getProperties
517 handler: setProperty
518 - name: signal
519 signal: interfacesAdded
520 handler: setProperty
521 - name: signal
522 signal: propertiesChanged
523 handler: setProperty
Ben_Pai949f9142019-08-05 18:34:34 +0800524 events:
Ben_Pai3e3ec102019-09-03 14:17:12 +0800525 - name: speed_control_sensors
526 groups:
527 - name: zone0_onboard
528 interface: xyz.openbmc_project.Sensor.Value
529 property:
530 name: Value
531 type: int64_t
532 - name: zone0_vrd
533 interface: xyz.openbmc_project.Sensor.Value
534 property:
535 name: Value
536 type: int64_t
537 - name: zone0_cores
538 interface: xyz.openbmc_project.Sensor.Value
539 property:
540 name: Value
541 type: int64_t
542 - name: zone0_dimms
543 interface: xyz.openbmc_project.Sensor.Value
544 property:
545 name: Value
546 type: int64_t
Ben_Pai2ecdfbd2019-09-27 10:08:18 +0800547 - name: zone0_gpu
548 interface: xyz.openbmc_project.Sensor.Value
549 property:
550 name: Value
551 type: int64_t
Ben_Pai3e3ec102019-09-03 14:17:12 +0800552 triggers:
553 - name: init
554 method: getProperties
555 handler: setProperty
556 - name: signal
557 signal: interfacesAdded
558 handler: setProperty
559 - name: signal
560 signal: propertiesChanged
561 handler: setProperty
562 - name: signal
563 signal: interfacesRemoved
564 handler: removeInterface
565 - name: fails_before_high_speed_air
566 groups:
567 - name: zone0_cores
568 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
569 property:
570 name: Functional
571 type: bool
572 - name: zone0_dimms
573 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
574 property:
575 name: Functional
576 type: bool
577 triggers:
578 - name: init
579 method: getProperties
580 handler: setProperty
581 - name: signal
582 signal: interfacesAdded
583 handler: setProperty
584 - name: signal
585 signal: propertiesChanged
586 handler: setProperty
587 actions:
588 - name: count_state_before_speed
589 count: 1
590 property:
591 value: false
592 type: bool
593 speed:
594 value: 255
595 type: uint64_t
596 - name: 1sec_speed_change_request_sampling
597 triggers:
598 - name: timer
599 interval: 1000000
600 type: repeating
601 actions:
602 # Speed changes based on onboard temps
603 - name: set_net_increase_speed
604 groups:
605 - name: zone0_onboard
606 interface: xyz.openbmc_project.Sensor.Value
607 property:
608 name: Value
609 type: int64_t
610 property:
Ben_Paif2426302019-11-15 10:49:32 +0800611 value: 55000
Ben_Pai3e3ec102019-09-03 14:17:12 +0800612 type: int64_t
613 factor:
614 value: 1000
615 type: int64_t
616 delta:
617 value: 8
618 type: uint64_t
619 - name: set_net_decrease_speed
620 groups:
621 - name: zone0_onboard
622 interface: xyz.openbmc_project.Sensor.Value
623 property:
624 name: Value
625 type: int64_t
626 property:
Ben_Paif2426302019-11-15 10:49:32 +0800627 value: 52000
Ben_Pai3e3ec102019-09-03 14:17:12 +0800628 type: int64_t
629 factor:
Ben_Paif2426302019-11-15 10:49:32 +0800630 value: 1000
Ben_Pai3e3ec102019-09-03 14:17:12 +0800631 type: int64_t
632 delta:
633 value: 3
634 type: uint64_t
635 # Speed changes based on vrd temps
636 - name: set_net_increase_speed
637 groups:
638 - name: zone0_vrd
639 interface: xyz.openbmc_project.Sensor.Value
640 property:
641 name: Value
642 type: int64_t
643 property:
644 value: 90000
645 type: int64_t
646 factor:
647 value: 1000
648 type: int64_t
649 delta:
650 value: 5
651 type: uint64_t
652 - name: set_net_decrease_speed
653 groups:
654 - name: zone0_vrd
655 interface: xyz.openbmc_project.Sensor.Value
656 property:
657 name: Value
658 type: int64_t
659 property:
660 value: 85000
661 type: int64_t
662 factor:
663 value: 3000
664 type: int64_t
665 delta:
666 value: 3
667 type: uint64_t
668 # Speed changes based on core temps
669 - name: set_net_increase_speed
670 groups:
671 - name: zone0_cores
672 zone_conditions:
673 - name: air_cooled_chassis
674 zones:
675 - 0
676 interface: xyz.openbmc_project.Sensor.Value
677 property:
678 name: Value
679 type: int64_t
680 property:
681 value: 75000
682 type: int64_t
683 factor:
684 value: 1000
685 type: int64_t
686 delta:
687 value: 13
688 type: uint64_t
689 - name: set_net_decrease_speed
690 groups:
691 - name: zone0_cores
692 zone_conditions:
693 - name: air_cooled_chassis
694 zones:
695 - 0
696 interface: xyz.openbmc_project.Sensor.Value
697 property:
698 name: Value
699 type: int64_t
700 property:
701 value: 70000
702 type: int64_t
703 factor:
Ben_Paif2426302019-11-15 10:49:32 +0800704 value: 4000
Ben_Pai3e3ec102019-09-03 14:17:12 +0800705 type: int64_t
706 delta:
707 value: 5
708 type: uint64_t
709 # Speed changes based on dimm temps
710 - name: set_net_increase_speed
711 groups:
712 - name: zone0_dimms
713 interface: xyz.openbmc_project.Sensor.Value
714 property:
715 name: Value
716 type: int64_t
717 property:
718 value: 80000
719 type: int64_t
720 factor:
721 value: 1000
722 type: int64_t
723 delta:
724 value: 8
725 type: uint64_t
726 - name: set_net_decrease_speed
727 groups:
728 - name: zone0_dimms
729 interface: xyz.openbmc_project.Sensor.Value
730 property:
731 name: Value
732 type: int64_t
733 property:
734 value: 75000
735 type: int64_t
736 factor:
737 value: 3000
738 type: int64_t
739 delta:
740 value: 3
741 type: uint64_t
Ben_Pai2ecdfbd2019-09-27 10:08:18 +0800742 # Speed changes based on gpu temps
743 - name: set_net_increase_speed
744 groups:
745 - name: zone0_gpu
746 interface: xyz.openbmc_project.Sensor.Value
747 property:
748 name: Value
749 type: int64_t
750 property:
Ben_Paif2426302019-11-15 10:49:32 +0800751 value: 80
Ben_Pai2ecdfbd2019-09-27 10:08:18 +0800752 type: int64_t
753 factor:
754 value: 1
755 type: int64_t
756 delta:
757 value: 13
758 type: uint64_t
759 - name: set_net_decrease_speed
760 groups:
761 - name: zone0_gpu
762 interface: xyz.openbmc_project.Sensor.Value
763 property:
764 name: Value
765 type: int64_t
766 property:
Ben_Paif2426302019-11-15 10:49:32 +0800767 value: 77
Ben_Pai2ecdfbd2019-09-27 10:08:18 +0800768 type: int64_t
769 factor:
770 value: 4
771 type: int64_t
772 delta:
773 value: 5
774 type: uint64_t