blob: bce20377750c91df6a632e93d73809acee64e305 [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
137matches:
138 - name: propertiesChanged
Ben_Paifba51212019-08-05 18:34:34 +0800139 parameters:
140 - object
141 - interface
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800142 - name: interfacesAdded
143 parameters:
144 - object
145 - name: interfacesRemoved
146 parameters:
147 - object
148 - name: nameOwnerChanged
149 parameters:
150 - object
151 - interface
152
153signals:
154 - name: propertiesChanged
155 description: >
156 A property changed match
157 parameters:
158 - type
159 - object
160 - interface
161 - property
162 match: propertiesChanged
Ben_Paifba51212019-08-05 18:34:34 +0800163 - name: interfacesAdded
164 description: >
165 An interfaces added match
166 parameters:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800167 - type
Ben_Paifba51212019-08-05 18:34:34 +0800168 - object
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800169 - interface
170 - property
171 match: interfacesAdded
Ben_Paifba51212019-08-05 18:34:34 +0800172 - name: interfacesRemoved
173 description: >
174 An interfaces removed match
175 parameters:
176 - object
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800177 - interface
178 match: interfacesRemoved
Ben_Paifba51212019-08-05 18:34:34 +0800179 - name: nameOwnerChanged
180 description: >
181 A name owner changed match
182 parameters:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800183 match: nameOwnerChanged
Ben_Paifba51212019-08-05 18:34:34 +0800184
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800185methods:
186 - name: getProperties
Ben_Paifba51212019-08-05 18:34:34 +0800187 description: >
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800188 Get the property values of the given group members
189 by performing a `GetProperty` method call on each
Ben_Paifba51212019-08-05 18:34:34 +0800190 parameters:
191 - type
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800192 - name: nameHasOwner
Ben_Paifba51212019-08-05 18:34:34 +0800193 description: >
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800194 A NameHasOwner method call to be performed on all event group members
Ben_Paifba51212019-08-05 18:34:34 +0800195 parameters:
Ben_Paifba51212019-08-05 18:34:34 +0800196
197handlers:
198 - name: setProperty
199 description: >
200 Sets a value for the given object/interface/property
201 parameters:
202 - type
Ben_Paifba51212019-08-05 18:34:34 +0800203 - name: setService
204 description: >
205 Sets the service name and ownership status for the given group
206 parameters:
207 - group
208 - name: removeInterface
209 description: >
210 Removes an interface(and all associated properties) on the
211 given object from use within all event actions
212 parameters:
213 - object
214 - interface
215
216preconditions:
217 - name: property_states_match
218 description: >
219 All defined properties must match the values given to
220 enable a set speed event otherwise fan speeds are set to full
221 parameters:
222 - groups
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800223 - name: services_missing_owner
224 description: >
225 Any services missing an owner enable the events given otherwise
226 the events are removed/disabled
227 parameters:
Ben_Paifba51212019-08-05 18:34:34 +0800228
229actions:
230 - name: call_actions_based_on_timer
231 description: >
232 Sets up a list of actions to be invoked when the defined timer
233 expires (or for each expiration of a repeating timer)
234 parameters:
235 - timer
236 - actions
237 - name: default_floor_on_missing_owner
238 description: >
239 Set the fan floor to the default floor
240 - name: set_speed_on_missing_owner
241 description: >
242 Set fans to the given speed when any service within the group
243 no longer exists
244 parameters:
245 - speed
246 - name: set_request_speed_base_with_max
247 description: >
248 Set the base request speed of a zone to the max value of a group for
249 calculating a new target speed
250 - name: count_state_before_speed
251 description: Set the speed when a number of properties at a state
252 parameters:
253 - count
254 - property
255 - speed
256 - name: set_floor_from_average_sensor_value
257 description: Set floor speed from first entry with average less than key
258 parameters:
259 - map
260 - name: set_ceiling_from_average_sensor_value
261 description: Set ceiling speed based on key transition values with average
262 parameters:
263 - map
264 - name: set_net_increase_speed
265 description: >
266 Set the speed increase delta based on a factor applied to
267 the delta increase size times the given value and property's
268 value difference
269 parameters:
270 - property
271 - factor
272 - delta
273 - name: set_net_decrease_speed
274 description: >
275 Set the speed decrease delta based on a factor applied to
276 the delta decrease size times the given value and property's
277 value difference
278 parameters:
279 - property
280 - factor
281 - delta
282 - name: use_alternate_events_on_state
283 description: >
284 Replaces a set of default events with an alternate set of events
285 when all the group properties are at a given state
286 parameters:
287 - property
288 - defevents
289 - altevents
290
291events:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800292 - name: missing_or_fails_before_high_speed_air
Ben_Paifba51212019-08-05 18:34:34 +0800293 groups:
294 - name: air_cooled_zone0_fans
295 zone_conditions:
296 - name: air_cooled_chassis
297 zones:
298 - 0
299 interface: xyz.openbmc_project.Inventory.Item
300 property:
301 name: Present
302 type: bool
Ben_Paifba51212019-08-05 18:34:34 +0800303 - name: air_cooled_zone0_fans
304 zone_conditions:
305 - name: air_cooled_chassis
306 zones:
307 - 0
308 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
309 property:
310 name: Functional
311 type: bool
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800312 triggers:
313 - name: init
314 method: getProperties
315 handler: setProperty
316 - name: signal
317 signal: propertiesChanged
318 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800319 actions:
320 - name: count_state_before_speed
321 count: 1
322 property:
323 value: false
324 type: bool
325 speed:
326 value: 255
327 type: uint64_t
328 - name: set_air_cooled_speed_boundaries_based_on_ambient
329 groups:
330 - name: zone0_control_mode
331 zone_conditions:
332 - name: air_cooled_chassis
333 zones:
334 - 0
335 interface: xyz.openbmc_project.Control.ThermalMode
336 property:
337 name: Current
338 type: std::string
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800339 triggers:
340 - name: init
341 method: getProperties
342 handler: setProperty
343 - name: signal
344 signal: propertiesChanged
345 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800346 actions:
347 - name: use_alternate_events_on_state
348 property:
349 value: CUSTOM
350 type: std::string
351 defevents:
352 - name: default_floor_boundary
353 groups:
354 - name: zone0_ambient
355 zone_conditions:
356 - name: air_cooled_chassis
357 zones:
358 - 0
359 interface: xyz.openbmc_project.Sensor.Value
360 property:
361 name: Value
362 type: int64_t
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800363 triggers:
364 - name: init
365 method: getProperties
366 handler: setProperty
367 - name: signal
368 signal: propertiesChanged
369 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800370 actions:
371 - name: set_floor_from_average_sensor_value
372 map:
373 value:
374 - 25000: 85
375 - 26000: 85
376 - 28000: 97
377 - 31000: 116
378 - 33000: 128
379 - 36000: 148
380 - 38000: 160
381 - 41000: 255
382 type: std::map<int64_t, uint64_t>
383 - name: set_ceiling_from_average_sensor_value
384 map:
385 value:
386 - 25000: 255
387 - 27000: 255
388 type: std::map<int64_t, uint64_t>
389 altevents:
390 - name: alternate_floor_boundary
391 groups:
392 - name: zone0_ambient
393 zone_conditions:
394 - name: air_cooled_chassis
395 zones:
396 - 0
397 interface: xyz.openbmc_project.Sensor.Value
398 property:
399 name: Value
400 type: int64_t
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800401 triggers:
402 - name: init
403 method: getProperties
404 handler: setProperty
405 - name: signal
406 signal: propertiesChanged
407 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800408 actions:
409 - name: set_floor_from_average_sensor_value
410 map:
411 value:
412 - 25000: 255
413 - 26000: 255
414 - 28000: 255
415 - 31000: 255
416 - 33000: 255
417 - 36000: 255
418 - 38000: 255
419 - 41000: 255
420 type: std::map<int64_t, uint64_t>
421 - name: set_ceiling_from_average_sensor_value
422 map:
423 value:
424 - 25000: 255
425 - 27000: 255
426 type: std::map<int64_t, uint64_t>
427 - name: occ_active_speed_changes
428 precondition:
429 name: property_states_match
430 groups:
431 - name: occ0_object
432 interface: org.open_power.OCC.Status
433 property:
434 name: OccActive
435 type: bool
436 value: true
437 - name: occ1_object
438 interface: org.open_power.OCC.Status
439 property:
440 name: OccActive
441 type: bool
442 value: true
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800443 triggers:
444 - name: init
445 method: getProperties
446 handler: setProperty
447 - name: signal
448 signal: interfacesAdded
449 handler: setProperty
450 - name: signal
451 signal: propertiesChanged
452 handler: setProperty
Ben_Paifba51212019-08-05 18:34:34 +0800453 events:
Ben_Pai12ce8ed2019-09-03 14:17:12 +0800454 - name: speed_control_sensors
455 groups:
456 - name: zone0_onboard
457 interface: xyz.openbmc_project.Sensor.Value
458 property:
459 name: Value
460 type: int64_t
461 - name: zone0_vrd
462 interface: xyz.openbmc_project.Sensor.Value
463 property:
464 name: Value
465 type: int64_t
466 - name: zone0_cores
467 interface: xyz.openbmc_project.Sensor.Value
468 property:
469 name: Value
470 type: int64_t
471 - name: zone0_dimms
472 interface: xyz.openbmc_project.Sensor.Value
473 property:
474 name: Value
475 type: int64_t
476 triggers:
477 - name: init
478 method: getProperties
479 handler: setProperty
480 - name: signal
481 signal: interfacesAdded
482 handler: setProperty
483 - name: signal
484 signal: propertiesChanged
485 handler: setProperty
486 - name: signal
487 signal: interfacesRemoved
488 handler: removeInterface
489 - name: fails_before_high_speed_air
490 groups:
491 - name: zone0_cores
492 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
493 property:
494 name: Functional
495 type: bool
496 - name: zone0_dimms
497 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
498 property:
499 name: Functional
500 type: bool
501 triggers:
502 - name: init
503 method: getProperties
504 handler: setProperty
505 - name: signal
506 signal: interfacesAdded
507 handler: setProperty
508 - name: signal
509 signal: propertiesChanged
510 handler: setProperty
511 actions:
512 - name: count_state_before_speed
513 count: 1
514 property:
515 value: false
516 type: bool
517 speed:
518 value: 255
519 type: uint64_t
520 - name: 1sec_speed_change_request_sampling
521 triggers:
522 - name: timer
523 interval: 1000000
524 type: repeating
525 actions:
526 # Speed changes based on onboard temps
527 - name: set_net_increase_speed
528 groups:
529 - name: zone0_onboard
530 interface: xyz.openbmc_project.Sensor.Value
531 property:
532 name: Value
533 type: int64_t
534 property:
535 value: 50000
536 type: int64_t
537 factor:
538 value: 1000
539 type: int64_t
540 delta:
541 value: 8
542 type: uint64_t
543 - name: set_net_decrease_speed
544 groups:
545 - name: zone0_onboard
546 interface: xyz.openbmc_project.Sensor.Value
547 property:
548 name: Value
549 type: int64_t
550 property:
551 value: 47000
552 type: int64_t
553 factor:
554 value: 3000
555 type: int64_t
556 delta:
557 value: 3
558 type: uint64_t
559 # Speed changes based on vrd temps
560 - name: set_net_increase_speed
561 groups:
562 - name: zone0_vrd
563 interface: xyz.openbmc_project.Sensor.Value
564 property:
565 name: Value
566 type: int64_t
567 property:
568 value: 90000
569 type: int64_t
570 factor:
571 value: 1000
572 type: int64_t
573 delta:
574 value: 5
575 type: uint64_t
576 - name: set_net_decrease_speed
577 groups:
578 - name: zone0_vrd
579 interface: xyz.openbmc_project.Sensor.Value
580 property:
581 name: Value
582 type: int64_t
583 property:
584 value: 85000
585 type: int64_t
586 factor:
587 value: 3000
588 type: int64_t
589 delta:
590 value: 3
591 type: uint64_t
592 # Speed changes based on core temps
593 - name: set_net_increase_speed
594 groups:
595 - name: zone0_cores
596 zone_conditions:
597 - name: air_cooled_chassis
598 zones:
599 - 0
600 interface: xyz.openbmc_project.Sensor.Value
601 property:
602 name: Value
603 type: int64_t
604 property:
605 value: 75000
606 type: int64_t
607 factor:
608 value: 1000
609 type: int64_t
610 delta:
611 value: 13
612 type: uint64_t
613 - name: set_net_decrease_speed
614 groups:
615 - name: zone0_cores
616 zone_conditions:
617 - name: air_cooled_chassis
618 zones:
619 - 0
620 interface: xyz.openbmc_project.Sensor.Value
621 property:
622 name: Value
623 type: int64_t
624 property:
625 value: 70000
626 type: int64_t
627 factor:
628 value: 7000
629 type: int64_t
630 delta:
631 value: 5
632 type: uint64_t
633 # Speed changes based on dimm temps
634 - name: set_net_increase_speed
635 groups:
636 - name: zone0_dimms
637 interface: xyz.openbmc_project.Sensor.Value
638 property:
639 name: Value
640 type: int64_t
641 property:
642 value: 80000
643 type: int64_t
644 factor:
645 value: 1000
646 type: int64_t
647 delta:
648 value: 8
649 type: uint64_t
650 - name: set_net_decrease_speed
651 groups:
652 - name: zone0_dimms
653 interface: xyz.openbmc_project.Sensor.Value
654 property:
655 name: Value
656 type: int64_t
657 property:
658 value: 75000
659 type: int64_t
660 factor:
661 value: 3000
662 type: int64_t
663 delta:
664 value: 3
665 type: uint64_t