blob: ec63490f3ea9542252cdebbe94a0f31214d109c9 [file] [log] [blame]
Ben_Paifba51212019-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_Pai45089662019-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_Paifba51212019-08-05 18:34:34 +0800149matches:
150 - name: propertiesChanged
Ben_Paifba51212019-08-05 18:34:34 +0800151 parameters:
152 - object
153 - interface
Ben_Pai12ce8ed2019-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_Paifba51212019-08-05 18:34:34 +0800175 - name: interfacesAdded
176 description: >
177 An interfaces added match
178 parameters:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800179 - type
Ben_Paifba51212019-08-05 18:34:34 +0800180 - object
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800181 - interface
182 - property
183 match: interfacesAdded
Ben_Paifba51212019-08-05 18:34:34 +0800184 - name: interfacesRemoved
185 description: >
186 An interfaces removed match
187 parameters:
188 - object
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800189 - interface
190 match: interfacesRemoved
Ben_Paifba51212019-08-05 18:34:34 +0800191 - name: nameOwnerChanged
192 description: >
193 A name owner changed match
194 parameters:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800195 match: nameOwnerChanged
Ben_Paifba51212019-08-05 18:34:34 +0800196
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800197methods:
198 - name: getProperties
Ben_Paifba51212019-08-05 18:34:34 +0800199 description: >
Ben_Pai12ce8ed2019-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_Paifba51212019-08-05 18:34:34 +0800202 parameters:
203 - type
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800204 - name: nameHasOwner
Ben_Paifba51212019-08-05 18:34:34 +0800205 description: >
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800206 A NameHasOwner method call to be performed on all event group members
Ben_Paifba51212019-08-05 18:34:34 +0800207 parameters:
Ben_Paifba51212019-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_Paifba51212019-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_Pai12ce8ed2019-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_Paifba51212019-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_Pai12ce8ed2019-09-03 14:17:12 +0800304 - name: missing_or_fails_before_high_speed_air
Ben_Paifba51212019-08-05 18:34:34 +0800305 groups:
306 - name: air_cooled_zone0_fans
307 zone_conditions:
308 - name: air_cooled_chassis
309 zones:
310 - 0
311 interface: xyz.openbmc_project.Inventory.Item
312 property:
313 name: Present
314 type: bool
Ben_Paifba51212019-08-05 18:34:34 +0800315 - name: air_cooled_zone0_fans
316 zone_conditions:
317 - name: air_cooled_chassis
318 zones:
319 - 0
320 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
321 property:
322 name: Functional
323 type: bool
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800324 triggers:
325 - name: init
326 method: getProperties
327 handler: setProperty
328 - name: signal
329 signal: propertiesChanged
330 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800331 actions:
332 - name: count_state_before_speed
333 count: 1
334 property:
335 value: false
336 type: bool
337 speed:
338 value: 255
339 type: uint64_t
340 - name: set_air_cooled_speed_boundaries_based_on_ambient
341 groups:
342 - name: zone0_control_mode
343 zone_conditions:
344 - name: air_cooled_chassis
345 zones:
346 - 0
347 interface: xyz.openbmc_project.Control.ThermalMode
348 property:
349 name: Current
350 type: std::string
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800351 triggers:
352 - name: init
353 method: getProperties
354 handler: setProperty
355 - name: signal
356 signal: propertiesChanged
357 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800358 actions:
359 - name: use_alternate_events_on_state
360 property:
361 value: CUSTOM
362 type: std::string
363 defevents:
364 - name: default_floor_boundary
365 groups:
366 - name: zone0_ambient
367 zone_conditions:
368 - name: air_cooled_chassis
369 zones:
370 - 0
371 interface: xyz.openbmc_project.Sensor.Value
372 property:
373 name: Value
374 type: int64_t
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800375 triggers:
376 - name: init
377 method: getProperties
378 handler: setProperty
379 - name: signal
380 signal: propertiesChanged
381 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800382 actions:
383 - name: set_floor_from_average_sensor_value
384 map:
385 value:
386 - 25000: 85
387 - 26000: 85
388 - 28000: 97
389 - 31000: 116
390 - 33000: 128
391 - 36000: 148
392 - 38000: 160
393 - 41000: 255
394 type: std::map<int64_t, uint64_t>
395 - name: set_ceiling_from_average_sensor_value
396 map:
397 value:
398 - 25000: 255
399 - 27000: 255
400 type: std::map<int64_t, uint64_t>
401 altevents:
402 - name: alternate_floor_boundary
403 groups:
404 - name: zone0_ambient
405 zone_conditions:
406 - name: air_cooled_chassis
407 zones:
408 - 0
409 interface: xyz.openbmc_project.Sensor.Value
410 property:
411 name: Value
412 type: int64_t
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800413 triggers:
414 - name: init
415 method: getProperties
416 handler: setProperty
417 - name: signal
418 signal: propertiesChanged
419 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800420 actions:
421 - name: set_floor_from_average_sensor_value
422 map:
423 value:
424 - 25000: 255
425 - 26000: 255
426 - 28000: 255
427 - 31000: 255
428 - 33000: 255
429 - 36000: 255
430 - 38000: 255
431 - 41000: 255
432 type: std::map<int64_t, uint64_t>
433 - name: set_ceiling_from_average_sensor_value
434 map:
435 value:
436 - 25000: 255
437 - 27000: 255
438 type: std::map<int64_t, uint64_t>
439 - name: occ_active_speed_changes
440 precondition:
441 name: property_states_match
442 groups:
443 - name: occ0_object
444 interface: org.open_power.OCC.Status
445 property:
446 name: OccActive
447 type: bool
448 value: true
449 - name: occ1_object
450 interface: org.open_power.OCC.Status
451 property:
452 name: OccActive
453 type: bool
454 value: true
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800455 triggers:
456 - name: init
457 method: getProperties
458 handler: setProperty
459 - name: signal
460 signal: interfacesAdded
461 handler: setProperty
462 - name: signal
463 signal: propertiesChanged
464 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800465 events:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800466 - name: speed_control_sensors
467 groups:
468 - name: zone0_onboard
469 interface: xyz.openbmc_project.Sensor.Value
470 property:
471 name: Value
472 type: int64_t
473 - name: zone0_vrd
474 interface: xyz.openbmc_project.Sensor.Value
475 property:
476 name: Value
477 type: int64_t
478 - name: zone0_cores
479 interface: xyz.openbmc_project.Sensor.Value
480 property:
481 name: Value
482 type: int64_t
483 - name: zone0_dimms
484 interface: xyz.openbmc_project.Sensor.Value
485 property:
486 name: Value
487 type: int64_t
Ben_Pai45089662019-09-27 10:08:18 +0800488 - name: zone0_gpu
489 interface: xyz.openbmc_project.Sensor.Value
490 property:
491 name: Value
492 type: int64_t
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800493 triggers:
494 - name: init
495 method: getProperties
496 handler: setProperty
497 - name: signal
498 signal: interfacesAdded
499 handler: setProperty
500 - name: signal
501 signal: propertiesChanged
502 handler: setProperty
503 - name: signal
504 signal: interfacesRemoved
505 handler: removeInterface
506 - name: fails_before_high_speed_air
507 groups:
508 - name: zone0_cores
509 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
510 property:
511 name: Functional
512 type: bool
513 - name: zone0_dimms
514 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
515 property:
516 name: Functional
517 type: bool
518 triggers:
519 - name: init
520 method: getProperties
521 handler: setProperty
522 - name: signal
523 signal: interfacesAdded
524 handler: setProperty
525 - name: signal
526 signal: propertiesChanged
527 handler: setProperty
528 actions:
529 - name: count_state_before_speed
530 count: 1
531 property:
532 value: false
533 type: bool
534 speed:
535 value: 255
536 type: uint64_t
537 - name: 1sec_speed_change_request_sampling
538 triggers:
539 - name: timer
540 interval: 1000000
541 type: repeating
542 actions:
543 # Speed changes based on onboard temps
544 - name: set_net_increase_speed
545 groups:
546 - name: zone0_onboard
547 interface: xyz.openbmc_project.Sensor.Value
548 property:
549 name: Value
550 type: int64_t
551 property:
552 value: 50000
553 type: int64_t
554 factor:
555 value: 1000
556 type: int64_t
557 delta:
558 value: 8
559 type: uint64_t
560 - name: set_net_decrease_speed
561 groups:
562 - name: zone0_onboard
563 interface: xyz.openbmc_project.Sensor.Value
564 property:
565 name: Value
566 type: int64_t
567 property:
568 value: 47000
569 type: int64_t
570 factor:
571 value: 3000
572 type: int64_t
573 delta:
574 value: 3
575 type: uint64_t
576 # Speed changes based on vrd temps
577 - name: set_net_increase_speed
578 groups:
579 - name: zone0_vrd
580 interface: xyz.openbmc_project.Sensor.Value
581 property:
582 name: Value
583 type: int64_t
584 property:
585 value: 90000
586 type: int64_t
587 factor:
588 value: 1000
589 type: int64_t
590 delta:
591 value: 5
592 type: uint64_t
593 - name: set_net_decrease_speed
594 groups:
595 - name: zone0_vrd
596 interface: xyz.openbmc_project.Sensor.Value
597 property:
598 name: Value
599 type: int64_t
600 property:
601 value: 85000
602 type: int64_t
603 factor:
604 value: 3000
605 type: int64_t
606 delta:
607 value: 3
608 type: uint64_t
609 # Speed changes based on core temps
610 - name: set_net_increase_speed
611 groups:
612 - name: zone0_cores
613 zone_conditions:
614 - name: air_cooled_chassis
615 zones:
616 - 0
617 interface: xyz.openbmc_project.Sensor.Value
618 property:
619 name: Value
620 type: int64_t
621 property:
622 value: 75000
623 type: int64_t
624 factor:
625 value: 1000
626 type: int64_t
627 delta:
628 value: 13
629 type: uint64_t
630 - name: set_net_decrease_speed
631 groups:
632 - name: zone0_cores
633 zone_conditions:
634 - name: air_cooled_chassis
635 zones:
636 - 0
637 interface: xyz.openbmc_project.Sensor.Value
638 property:
639 name: Value
640 type: int64_t
641 property:
642 value: 70000
643 type: int64_t
644 factor:
645 value: 7000
646 type: int64_t
647 delta:
648 value: 5
649 type: uint64_t
650 # Speed changes based on dimm temps
651 - name: set_net_increase_speed
652 groups:
653 - name: zone0_dimms
654 interface: xyz.openbmc_project.Sensor.Value
655 property:
656 name: Value
657 type: int64_t
658 property:
659 value: 80000
660 type: int64_t
661 factor:
662 value: 1000
663 type: int64_t
664 delta:
665 value: 8
666 type: uint64_t
667 - name: set_net_decrease_speed
668 groups:
669 - name: zone0_dimms
670 interface: xyz.openbmc_project.Sensor.Value
671 property:
672 name: Value
673 type: int64_t
674 property:
675 value: 75000
676 type: int64_t
677 factor:
678 value: 3000
679 type: int64_t
680 delta:
681 value: 3
682 type: uint64_t
Ben_Pai45089662019-09-27 10:08:18 +0800683 # Speed changes based on gpu temps
684 - name: set_net_increase_speed
685 groups:
686 - name: zone0_gpu
687 interface: xyz.openbmc_project.Sensor.Value
688 property:
689 name: Value
690 type: int64_t
691 property:
692 value: 70
693 type: int64_t
694 factor:
695 value: 1
696 type: int64_t
697 delta:
698 value: 13
699 type: uint64_t
700 - name: set_net_decrease_speed
701 groups:
702 - name: zone0_gpu
703 interface: xyz.openbmc_project.Sensor.Value
704 property:
705 name: Value
706 type: int64_t
707 property:
708 value: 67
709 type: int64_t
710 factor:
711 value: 4
712 type: int64_t
713 delta:
714 value: 5
715 type: uint64_t