blob: e2966d6ea8361c0b0917e30e4d1bdaa649ee9353 [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 Barth184a1512017-08-16 10:42:54 -0500142
143preconditions:
144 - name: property_states_match
145 description: >
146 All defined properties must match the values given to
147 enable a set speed event otherwise fan speeds are set to full
148 parameters:
149 - groups
Matthew Barthbde68592017-05-24 17:06:13 -0500150
151actions:
Matthew Barth1181f282017-09-15 14:53:01 -0500152 - name: set_request_speed_base_with_max
153 description: >
154 Set the base request speed of a zone to the max value of a group for
155 calculating a new target speed
Matthew Barthbde68592017-05-24 17:06:13 -0500156 - name: count_state_before_speed
157 description: Set the speed when a number of properties at a state
158 parameters:
159 - count
160 - property
161 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500162 - name: set_floor_from_average_sensor_value
163 description: Set floor speed from first entry with average less than key
164 parameters:
165 - map
166 - name: set_ceiling_from_average_sensor_value
167 description: Set ceiling speed based on key transition values with average
168 parameters:
169 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500170 - name: set_net_increase_speed
171 description: >
172 Set the speed increase delta based on a factor applied to
173 the delta increase size times the given value and property's
174 value difference
175 parameters:
176 - property
177 - factor
178 - delta
179 - name: set_net_decrease_speed
180 description: >
181 Set the speed decrease delta based on a factor applied to
182 the delta decrease size times the given value and property's
183 value difference
184 parameters:
185 - property
186 - factor
187 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500188
189events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500190 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500191 zone_conditions:
192 - name: air_cooled_chassis
193 zones:
194 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500195 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500196 interface: xyz.openbmc_project.Inventory.Item
197 property:
198 name: Present
199 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500200 actions:
201 - name: count_state_before_speed
202 count: 1
203 property: false
204 speed:
205 value: 10500
206 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500207 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500208 zone_conditions:
209 - name: air_cooled_chassis
210 zones:
211 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500212 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500213 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
214 property:
215 name: Functional
216 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500217 actions:
218 - name: count_state_before_speed
219 count: 1
220 property: false
221 speed:
222 value: 10500
223 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500224 - name: missing_before_high_speed_water_and_air
225 zone_conditions:
226 - name: water_and_air_cooled_chassis
227 zones:
228 - 0
229 group: water_and_air_cooled_zone0_fans
230 interface: xyz.openbmc_project.Inventory.Item
231 property:
232 name: Present
233 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500234 actions:
235 - name: count_state_before_speed
236 count: 1
237 property: false
238 speed:
239 value: 10500
240 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500241 - name: fails_before_high_speed_water_and_air
242 zone_conditions:
243 - name: water_and_air_cooled_chassis
244 zones:
245 - 0
246 group: water_and_air_cooled_zone0_fans
247 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
248 property:
249 name: Functional
250 type: bool
Matthew Barth2e104962017-09-14 12:32:49 -0500251 actions:
252 - name: count_state_before_speed
253 count: 1
254 property: false
255 speed:
256 value: 10500
257 type: uint64_t
258 - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500259 zone_conditions:
260 - name: air_cooled_chassis
261 zones:
262 - 0
263 group: zone0_ambient
264 interface: xyz.openbmc_project.Sensor.Value
265 property:
266 name: Value
267 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500268 actions:
269 - name: set_floor_from_average_sensor_value
270 map:
271 value:
272 - 27000: 10500
273 - 32000: 10500
274 - 37000: 10500
275 - 40000: 10500
276 type: std::map<int64_t, uint64_t>
277 - name: set_ceiling_from_average_sensor_value
278 map:
279 value:
280 - 25000: 10500
281 - 27000: 10500
282 type: std::map<int64_t, uint64_t>
283 - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500284 zone_conditions:
285 - name: water_and_air_cooled_chassis
286 zones:
287 - 0
288 group: zone0_ambient
289 interface: xyz.openbmc_project.Sensor.Value
290 property:
291 name: Value
292 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500293 actions:
294 - name: set_floor_from_average_sensor_value
295 map:
296 value:
297 - 27000: 10500
298 - 32000: 10500
299 - 37000: 10500
300 - 40000: 10500
301 type: std::map<int64_t, uint64_t>
302 - name: set_ceiling_from_average_sensor_value
303 map:
304 value:
305 - 25000: 10500
306 - 27000: 10500
307 type: std::map<int64_t, uint64_t>
Matthew Barth1181f282017-09-15 14:53:01 -0500308 - name: set_base_request_speed_to_max_tach_feedback
309 zone_conditions:
310 - name: air_cooled_chassis
311 zones:
312 - 0
313 - name: water_and_air_cooled_chassis
314 zones:
315 - 0
316 group: zone0_fan_tachs
317 interface: xyz.openbmc_project.Sensor.Value
318 property:
319 name: Value
320 type: int64_t
321 actions:
322 - name: set_request_speed_base_with_max
Matthew Barth2e104962017-09-14 12:32:49 -0500323 - name: speed_changes_based_on_regulator_temps
Matthew Barth7a512782017-08-16 12:43:07 -0500324 zone_conditions:
325 - name: air_cooled_chassis
326 zones:
327 - 0
328 - name: water_and_air_cooled_chassis
329 zones:
330 - 0
331 group: zone0_regulators
332 interface: xyz.openbmc_project.Sensor.Value
333 property:
334 name: Value
335 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500336 actions:
337 - name: set_net_increase_speed
338 property: 85000
339 factor:
340 value: 1000
341 type: int64_t
342 delta:
343 value: 400
344 type: uint64_t
345 - name: set_net_decrease_speed
346 property: 82000
347 factor:
348 value: 1000
349 type: int64_t
350 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500351 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500352 type: uint64_t
Matthew Barth7a512782017-08-16 12:43:07 -0500353 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500354 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500355 - name: occ_active_speed_changes
Matthew Barth362d8232017-08-18 10:39:03 -0500356 precondition:
357 name: property_states_match
358 groups:
359 - name: occ0_object
360 interface: org.open_power.OCC.Status
361 property:
362 name: OccActive
363 type: bool
364 value: true
365 - name: occ1_object
366 interface: org.open_power.OCC.Status
367 property:
368 name: OccActive
369 type: bool
370 value: true
Matthew Barth2e104962017-09-14 12:32:49 -0500371 events:
372 - name: speed_changes_based_on_core_temps
373 zone_conditions:
374 - name: air_cooled_chassis
375 zones:
376 - 0
377 group: zone0_cores
378 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500379 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500380 name: Value
381 type: int64_t
382 actions:
383 - name: set_net_increase_speed
384 property: 73000
385 factor:
386 value: 1000
387 type: int64_t
388 delta:
389 value: 400
390 type: uint64_t
391 - name: set_net_decrease_speed
392 property: 70000
393 factor:
394 value: 1000
395 type: int64_t
396 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500397 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500398 type: uint64_t
399 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500400 interval: 5
Matthew Barth2e104962017-09-14 12:32:49 -0500401 - name: speed_changes_based_on_dimm_temps
402 zone_conditions:
403 - name: air_cooled_chassis
404 zones:
405 - 0
406 - name: water_and_air_cooled_chassis
407 zones:
408 - 0
409 group: zone0_dimms
410 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500411 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500412 name: Value
413 type: int64_t
414 actions:
415 - name: set_net_increase_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500416 property: 64000
Matthew Barth2e104962017-09-14 12:32:49 -0500417 factor:
418 value: 1000
419 type: int64_t
420 delta:
421 value: 200
422 type: uint64_t
423 - name: set_net_decrease_speed
Matthew Barth23bb1572017-09-14 13:09:39 -0500424 property: 61000
Matthew Barth2e104962017-09-14 12:32:49 -0500425 factor:
426 value: 1000
427 type: int64_t
428 delta:
Matthew Barth23bb1572017-09-14 13:09:39 -0500429 value: 40
Matthew Barth2e104962017-09-14 12:32:49 -0500430 type: uint64_t
431 timer:
Matthew Barth23bb1572017-09-14 13:09:39 -0500432 interval: 5
Matthew Barth1f8bf1d2017-09-14 13:26:06 -0500433 - name: speed_changes_based_on_gpu_core_temps
434 zone_conditions:
435 - name: air_cooled_chassis
436 zones:
437 - 0
438 - name: water_and_air_cooled_chassis
439 zones:
440 - 0
441 group: zone0_gpu_cores
442 interface: xyz.openbmc_project.Sensor.Value
443 property:
444 name: Value
445 type: int64_t
446 actions:
447 - name: set_net_increase_speed
448 property: 78000
449 factor:
450 value: 1000
451 type: int64_t
452 delta:
453 value: 600
454 type: uint64_t
455 - name: set_net_decrease_speed
456 property: 75000
457 factor:
458 value: 1000
459 type: int64_t
460 delta:
461 value: 40
462 type: uint64_t
463 timer:
464 interval: 5
Matthew Barthfe1823a2017-09-14 13:39:49 -0500465 - name: speed_changes_based_on_gpu_memory_temps
466 zone_conditions:
467 - name: air_cooled_chassis
468 zones:
469 - 0
470 - name: water_and_air_cooled_chassis
471 zones:
472 - 0
473 group: zone0_gpu_memory
474 interface: xyz.openbmc_project.Sensor.Value
475 property:
476 name: Value
477 type: int64_t
478 actions:
479 - name: set_net_increase_speed
480 property: 80000
481 factor:
482 value: 1000
483 type: int64_t
484 delta:
485 value: 600
486 type: uint64_t
487 - name: set_net_decrease_speed
488 property: 77000
489 factor:
490 value: 1000
491 type: int64_t
492 delta:
493 value: 40
494 type: uint64_t
495 timer:
496 interval: 5