blob: b7fd1f761c51f939728c3735b4057d8b16726773 [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
137matches:
138 - name: propertiesChanged
139 description: >
140 A property changed match
141 parameters:
142 - object
143 - interface
144 signal: propertySignal
145 - name: interfacesAdded
146 description: >
147 An interfaces added match
148 parameters:
149 - object
150 signal: objectSignal
151 - name: interfacesRemoved
152 description: >
153 An interfaces removed match
154 parameters:
155 - object
156 signal:
157 name: objectSignal
158 parameters:
159 - object
160 - interface
161 handler: removeInterface
162 - name: nameOwnerChanged
163 description: >
164 A name owner changed match
165 parameters:
166 - object
167 - interface
168 signal: ownerSignal
169
170signals:
171 - name: propertySignal
172 description: >
173 Handle property signals
174 parameters:
175 - type
176 - object
177 - interface
178 - property
179 handler: setProperty
180 - name: objectSignal
181 description: >
182 Handle object signals
183 parameters:
184 - type
185 - object
186 - interface
187 - property
188 handler: setProperty
189 - name: ownerSignal
190 description: >
191 Handle owner signals
192 parameters:
193 - object
194 - interface
195 handler: setService
196
197handlers:
198 - name: setProperty
199 description: >
200 Sets a value for the given object/interface/property
201 parameters:
202 - type
203 - object
204 - interface
205 - property
206 - name: setService
207 description: >
208 Sets the service name and ownership status for the given group
209 parameters:
210 - group
211 - name: removeInterface
212 description: >
213 Removes an interface(and all associated properties) on the
214 given object from use within all event actions
215 parameters:
216 - object
217 - interface
218
219preconditions:
220 - name: property_states_match
221 description: >
222 All defined properties must match the values given to
223 enable a set speed event otherwise fan speeds are set to full
224 parameters:
225 - groups
226
227actions:
228 - name: call_actions_based_on_timer
229 description: >
230 Sets up a list of actions to be invoked when the defined timer
231 expires (or for each expiration of a repeating timer)
232 parameters:
233 - timer
234 - actions
235 - name: default_floor_on_missing_owner
236 description: >
237 Set the fan floor to the default floor
238 - name: set_speed_on_missing_owner
239 description: >
240 Set fans to the given speed when any service within the group
241 no longer exists
242 parameters:
243 - speed
244 - name: set_request_speed_base_with_max
245 description: >
246 Set the base request speed of a zone to the max value of a group for
247 calculating a new target speed
248 - name: count_state_before_speed
249 description: Set the speed when a number of properties at a state
250 parameters:
251 - count
252 - property
253 - speed
254 - name: set_floor_from_average_sensor_value
255 description: Set floor speed from first entry with average less than key
256 parameters:
257 - map
258 - name: set_ceiling_from_average_sensor_value
259 description: Set ceiling speed based on key transition values with average
260 parameters:
261 - map
262 - name: set_net_increase_speed
263 description: >
264 Set the speed increase delta based on a factor applied to
265 the delta increase size times the given value and property's
266 value difference
267 parameters:
268 - property
269 - factor
270 - delta
271 - name: set_net_decrease_speed
272 description: >
273 Set the speed decrease delta based on a factor applied to
274 the delta decrease size times the given value and property's
275 value difference
276 parameters:
277 - property
278 - factor
279 - delta
280 - name: use_alternate_events_on_state
281 description: >
282 Replaces a set of default events with an alternate set of events
283 when all the group properties are at a given state
284 parameters:
285 - property
286 - defevents
287 - altevents
288
289events:
290 - name: missing_before_high_speed_air
291 groups:
292 - name: air_cooled_zone0_fans
293 zone_conditions:
294 - name: air_cooled_chassis
295 zones:
296 - 0
297 interface: xyz.openbmc_project.Inventory.Item
298 property:
299 name: Present
300 type: bool
301 matches:
302 - name: interfacesAdded
303 - name: propertiesChanged
304 actions:
305 - name: count_state_before_speed
306 count: 1
307 property:
308 value: false
309 type: bool
310 speed:
311 value: 255
312 type: uint64_t
313 - name: fails_before_high_speed_air
314 groups:
315 - 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
324 matches:
325 - name: propertiesChanged
326 actions:
327 - name: count_state_before_speed
328 count: 1
329 property:
330 value: false
331 type: bool
332 speed:
333 value: 255
334 type: uint64_t
335 - name: set_air_cooled_speed_boundaries_based_on_ambient
336 groups:
337 - name: zone0_control_mode
338 zone_conditions:
339 - name: air_cooled_chassis
340 zones:
341 - 0
342 interface: xyz.openbmc_project.Control.ThermalMode
343 property:
344 name: Current
345 type: std::string
346 matches:
347 - name: propertiesChanged
348 actions:
349 - name: use_alternate_events_on_state
350 property:
351 value: CUSTOM
352 type: std::string
353 defevents:
354 - name: default_floor_boundary
355 groups:
356 - name: zone0_ambient
357 zone_conditions:
358 - name: air_cooled_chassis
359 zones:
360 - 0
361 interface: xyz.openbmc_project.Sensor.Value
362 property:
363 name: Value
364 type: int64_t
365 matches:
366 - name: propertiesChanged
367 actions:
368 - name: set_floor_from_average_sensor_value
369 map:
370 value:
371 - 25000: 85
372 - 26000: 85
373 - 28000: 97
374 - 31000: 116
375 - 33000: 128
376 - 36000: 148
377 - 38000: 160
378 - 41000: 255
379 type: std::map<int64_t, uint64_t>
380 - name: set_ceiling_from_average_sensor_value
381 map:
382 value:
383 - 25000: 255
384 - 27000: 255
385 type: std::map<int64_t, uint64_t>
386 altevents:
387 - name: alternate_floor_boundary
388 groups:
389 - name: zone0_ambient
390 zone_conditions:
391 - name: air_cooled_chassis
392 zones:
393 - 0
394 interface: xyz.openbmc_project.Sensor.Value
395 property:
396 name: Value
397 type: int64_t
398 matches:
399 - name: propertiesChanged
400 actions:
401 - name: set_floor_from_average_sensor_value
402 map:
403 value:
404 - 25000: 255
405 - 26000: 255
406 - 28000: 255
407 - 31000: 255
408 - 33000: 255
409 - 36000: 255
410 - 38000: 255
411 - 41000: 255
412 type: std::map<int64_t, uint64_t>
413 - name: set_ceiling_from_average_sensor_value
414 map:
415 value:
416 - 25000: 255
417 - 27000: 255
418 type: std::map<int64_t, uint64_t>
419 - name: occ_active_speed_changes
420 precondition:
421 name: property_states_match
422 groups:
423 - name: occ0_object
424 interface: org.open_power.OCC.Status
425 property:
426 name: OccActive
427 type: bool
428 value: true
429 - name: occ1_object
430 interface: org.open_power.OCC.Status
431 property:
432 name: OccActive
433 type: bool
434 value: true
435 matches:
436 - name: interfacesAdded
437 - name: propertiesChanged
438 events:
439 - name: speed_changes_based_on_core_temps
440 groups:
441 - name: zone0_cores
442 zone_conditions:
443 - name: air_cooled_chassis
444 zones:
445 - 0
446 interface: xyz.openbmc_project.Sensor.Value
447 property:
448 name: Value
449 type: int64_t
450 matches:
451 - name: interfacesAdded
452 - name: propertiesChanged
453 - name: interfacesRemoved
454 actions:
455 - name: set_net_increase_speed
456 property:
457 value: 75000
458 type: int64_t
459 factor:
460 value: 1000
461 type: int64_t
462 delta:
463 value: 13
464 type: uint64_t
465 - name: set_net_decrease_speed
466 property:
467 value: 70000
468 type: int64_t
469 factor:
470 value: 7000
471 type: int64_t
472 delta:
473 value: 5
474 type: uint64_t
475 timer:
476 interval: 1
477 - name: speed_changes_based_on_dimm_temps
478 groups:
479 - name: zone0_dimms
480 interface: xyz.openbmc_project.Sensor.Value
481 property:
482 name: Value
483 type: int64_t
484 matches:
485 - name: interfacesAdded
486 - name: propertiesChanged
487 - name: interfacesRemoved
488 actions:
489 - name: set_net_increase_speed
490 property:
491 value: 80000
492 type: int64_t
493 factor:
494 value: 1000
495 type: int64_t
496 delta:
497 value: 8
498 type: uint64_t
499 - name: set_net_decrease_speed
500 property:
501 value: 75000
502 type: int64_t
503 factor:
504 value: 3000
505 type: int64_t
506 delta:
507 value: 3
508 type: uint64_t
509 timer:
510 interval: 5
511 - name: speed_changes_based_on_onboard_temps
512 groups:
513 - name: zone0_onboard
514 zone_conditions:
515 - name: air_cooled_chassis
516 zones:
517 - 0
518 interface: xyz.openbmc_project.Sensor.Value
519 property:
520 name: Value
521 type: int64_t
522 matches:
523 - name: interfacesAdded
524 - name: propertiesChanged
525 - name: interfacesRemoved
526 actions:
527 - name: set_net_increase_speed
528 property:
529 value: 50000
530 type: int64_t
531 factor:
532 value: 1000
533 type: int64_t
534 delta:
535 value: 8
536 type: uint64_t
537 - name: set_net_decrease_speed
538 property:
539 value: 47000
540 type: int64_t
541 factor:
542 value: 3000
543 type: int64_t
544 delta:
545 value: 3
546 type: uint64_t
547 timer:
548 interval: 10
549 - name: speed_changes_based_on_vrd_temps
550 groups:
551 - name: zone0_vrd
552 zone_conditions:
553 - name: air_cooled_chassis
554 zones:
555 - 0
556 interface: xyz.openbmc_project.Sensor.Value
557 property:
558 name: Value
559 type: int64_t
560 matches:
561 - name: interfacesAdded
562 - name: propertiesChanged
563 - name: interfacesRemoved
564 actions:
565 - name: set_net_increase_speed
566 property:
567 value: 90000
568 type: int64_t
569 factor:
570 value: 1000
571 type: int64_t
572 delta:
573 value: 5
574 type: uint64_t
575 - name: set_net_decrease_speed
576 property:
577 value: 85000
578 type: int64_t
579 factor:
580 value: 3000
581 type: int64_t
582 delta:
583 value: 3
584 type: uint64_t
585 timer:
586 interval: 10