blob: 00dcd6c3ef3e57cc7b0405da26be774ed51667e8 [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 Barth184a1512017-08-16 10:42:54 -050022 - name: occ0_object
23 description: Dbus object containing OCC0 properties
24 type: /org/open_power/control
25 members:
26 - /occ0
27 - name: occ1_object
28 description: Dbus object containing OCC1 properties
29 type: /org/open_power/control
30 members:
31 - /occ1
32 - name: zone0_cores
33 description: Group of core temperature sensors for zone 0
34 type: /xyz/openbmc_project/sensors
35 members:
36 - /temperature/p0_core0_temp
37 - /temperature/p0_core1_temp
38 - /temperature/p0_core2_temp
39 - /temperature/p0_core3_temp
40 - /temperature/p0_core4_temp
41 - /temperature/p0_core5_temp
42 - /temperature/p0_core6_temp
43 - /temperature/p0_core7_temp
44 - /temperature/p0_core8_temp
45 - /temperature/p0_core9_temp
46 - /temperature/p0_core10_temp
47 - /temperature/p0_core11_temp
48 - /temperature/p0_core12_temp
49 - /temperature/p0_core13_temp
50 - /temperature/p0_core14_temp
51 - /temperature/p0_core15_temp
52 - /temperature/p0_core16_temp
53 - /temperature/p0_core17_temp
54 - /temperature/p0_core18_temp
55 - /temperature/p0_core19_temp
56 - /temperature/p0_core20_temp
57 - /temperature/p0_core21_temp
58 - /temperature/p0_core22_temp
59 - /temperature/p0_core23_temp
60 - /temperature/p1_core0_temp
61 - /temperature/p1_core1_temp
62 - /temperature/p1_core2_temp
63 - /temperature/p1_core3_temp
64 - /temperature/p1_core4_temp
65 - /temperature/p1_core5_temp
66 - /temperature/p1_core6_temp
67 - /temperature/p1_core7_temp
68 - /temperature/p1_core8_temp
69 - /temperature/p1_core9_temp
70 - /temperature/p1_core10_temp
71 - /temperature/p1_core11_temp
72 - /temperature/p1_core12_temp
73 - /temperature/p1_core13_temp
74 - /temperature/p1_core14_temp
75 - /temperature/p1_core15_temp
76 - /temperature/p1_core16_temp
77 - /temperature/p1_core17_temp
78 - /temperature/p1_core18_temp
79 - /temperature/p1_core19_temp
80 - /temperature/p1_core20_temp
81 - /temperature/p1_core21_temp
82 - /temperature/p1_core22_temp
83 - /temperature/p1_core23_temp
Matthew Barth7a512782017-08-16 12:43:07 -050084 - name: zone0_regulators
85 description: Group of regulator temperature sensors for zone 0
86 type: /xyz/openbmc_project/sensors
87 members:
88 - /temperature/p0_vdd_temp
89 - /temperature/p1_vdd_temp
Matthew Barth362d8232017-08-18 10:39:03 -050090 - name: zone0_dimms
91 description: Group of dimm temperature sensors for zone 0
92 type: /xyz/openbmc_project/sensors
93 members:
94 - /temperature/dimm0_temp
95 - /temperature/dimm1_temp
96 - /temperature/dimm2_temp
97 - /temperature/dimm3_temp
98 - /temperature/dimm4_temp
99 - /temperature/dimm5_temp
100 - /temperature/dimm6_temp
101 - /temperature/dimm7_temp
102 - /temperature/dimm8_temp
103 - /temperature/dimm9_temp
104 - /temperature/dimm10_temp
105 - /temperature/dimm11_temp
106 - /temperature/dimm12_temp
107 - /temperature/dimm13_temp
108 - /temperature/dimm14_temp
109 - /temperature/dimm15_temp
Matthew Barth184a1512017-08-16 10:42:54 -0500110
111preconditions:
112 - name: property_states_match
113 description: >
114 All defined properties must match the values given to
115 enable a set speed event otherwise fan speeds are set to full
116 parameters:
117 - groups
Matthew Barthbde68592017-05-24 17:06:13 -0500118
119actions:
120 - name: count_state_before_speed
121 description: Set the speed when a number of properties at a state
122 parameters:
123 - count
124 - property
125 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500126 - name: set_floor_from_average_sensor_value
127 description: Set floor speed from first entry with average less than key
128 parameters:
129 - map
130 - name: set_ceiling_from_average_sensor_value
131 description: Set ceiling speed based on key transition values with average
132 parameters:
133 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500134 - name: set_net_increase_speed
135 description: >
136 Set the speed increase delta based on a factor applied to
137 the delta increase size times the given value and property's
138 value difference
139 parameters:
140 - property
141 - factor
142 - delta
143 - name: set_net_decrease_speed
144 description: >
145 Set the speed decrease delta based on a factor applied to
146 the delta decrease size times the given value and property's
147 value difference
148 parameters:
149 - property
150 - factor
151 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500152
153events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500154 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500155 zone_conditions:
156 - name: air_cooled_chassis
157 zones:
158 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500159 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500160 interface: xyz.openbmc_project.Inventory.Item
161 property:
162 name: Present
163 type: bool
164 action:
165 name: count_state_before_speed
166 count: 1
167 property: false
168 speed:
169 value: 10500
170 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500171 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500172 zone_conditions:
173 - name: air_cooled_chassis
174 zones:
175 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500176 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500177 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
178 property:
179 name: Functional
180 type: bool
181 action:
182 name: count_state_before_speed
183 count: 1
184 property: false
185 speed:
186 value: 10500
187 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500188 - name: missing_before_high_speed_water_and_air
189 zone_conditions:
190 - name: water_and_air_cooled_chassis
191 zones:
192 - 0
193 group: water_and_air_cooled_zone0_fans
194 interface: xyz.openbmc_project.Inventory.Item
195 property:
196 name: Present
197 type: bool
198 action:
199 name: count_state_before_speed
200 count: 1
201 property: false
202 speed:
203 value: 10500
204 type: uint64_t
205 - name: fails_before_high_speed_water_and_air
206 zone_conditions:
207 - name: water_and_air_cooled_chassis
208 zones:
209 - 0
210 group: water_and_air_cooled_zone0_fans
211 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
212 property:
213 name: Functional
214 type: bool
215 action:
216 name: count_state_before_speed
217 count: 1
218 property: false
219 speed:
220 value: 10500
221 type: uint64_t
Matthew Barth5cde5a62017-07-10 15:35:29 -0500222 - name: update_air_cooled_floor_speed_based_on_ambient
223 zone_conditions:
224 - name: air_cooled_chassis
225 zones:
226 - 0
227 group: zone0_ambient
228 interface: xyz.openbmc_project.Sensor.Value
229 property:
230 name: Value
231 type: int64_t
232 action:
233 name: set_floor_from_average_sensor_value
234 map:
235 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500236 - 27000: 8000
237 - 32000: 8000
238 - 37000: 8000
239 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500240 type: std::map<int64_t, uint64_t>
241 - name: update_water_cooled_floor_speed_based_on_ambient
242 zone_conditions:
243 - name: water_and_air_cooled_chassis
244 zones:
245 - 0
246 group: zone0_ambient
247 interface: xyz.openbmc_project.Sensor.Value
248 property:
249 name: Value
250 type: int64_t
251 action:
252 name: set_floor_from_average_sensor_value
253 map:
254 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500255 - 27000: 8000
256 - 32000: 8000
257 - 37000: 8000
258 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500259 type: std::map<int64_t, uint64_t>
260 - name: update_ceiling_speed_based_on_ambient
261 zone_conditions:
262 - name: air_cooled_chassis
263 zones:
264 - 0
265 - name: water_and_air_cooled_chassis
266 zones:
267 - 0
268 group: zone0_ambient
269 interface: xyz.openbmc_project.Sensor.Value
270 property:
271 name: Value
272 type: int64_t
273 action:
274 name: set_ceiling_from_average_sensor_value
275 map:
276 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500277 - 25000: 10500
Matthew Barth5cde5a62017-07-10 15:35:29 -0500278 - 27000: 10500
279 type: std::map<int64_t, uint64_t>
Matthew Barth184a1512017-08-16 10:42:54 -0500280 - name: speed_increase_changes_based_on_core_temps
281 zone_conditions:
282 - name: air_cooled_chassis
283 zones:
284 - 0
285 - name: water_and_air_cooled_chassis
286 zones:
287 - 0
288 precondition:
289 name: property_states_match
290 groups:
291 - name: occ0_object
292 interface: org.open_power.OCC.Status
293 property:
294 name: OccActive
295 type: bool
296 value: true
297 - name: occ1_object
298 interface: org.open_power.OCC.Status
299 property:
300 name: OccActive
301 type: bool
302 value: true
303 group: zone0_cores
304 interface: xyz.openbmc_project.Sensor.Value
305 property:
306 name: Value
307 type: int64_t
308 action:
309 name: set_net_increase_speed
310 property: 73000
311 factor:
312 value: 1000
313 type: int64_t
314 delta:
315 value: 400
316 type: uint64_t
317 - name: speed_decrease_changes_based_on_core_temps
318 zone_conditions:
319 - name: air_cooled_chassis
320 zones:
321 - 0
322 - name: water_and_air_cooled_chassis
323 zones:
324 - 0
325 precondition:
326 name: property_states_match
327 groups:
328 - name: occ0_object
329 interface: org.open_power.OCC.Status
330 property:
331 name: OccActive
332 type: bool
333 value: true
334 - name: occ1_object
335 interface: org.open_power.OCC.Status
336 property:
337 name: OccActive
338 type: bool
339 value: true
340 group: zone0_cores
341 interface: xyz.openbmc_project.Sensor.Value
342 property:
343 name: Value
344 type: int64_t
345 action:
346 name: set_net_decrease_speed
347 property: 70000
348 factor:
349 value: 1000
350 type: int64_t
351 delta:
352 value: 10
353 type: uint64_t
354 timer:
355 interval: 15
Matthew Barth7a512782017-08-16 12:43:07 -0500356 - name: speed_increase_changes_based_on_regulator_temps
357 zone_conditions:
358 - name: air_cooled_chassis
359 zones:
360 - 0
361 - name: water_and_air_cooled_chassis
362 zones:
363 - 0
364 group: zone0_regulators
365 interface: xyz.openbmc_project.Sensor.Value
366 property:
367 name: Value
368 type: int64_t
369 action:
370 name: set_net_increase_speed
371 property: 85000
372 factor:
373 value: 1000
374 type: int64_t
375 delta:
376 value: 400
377 type: uint64_t
378 - name: speed_decrease_changes_based_on_regulator_temps
379 zone_conditions:
380 - name: air_cooled_chassis
381 zones:
382 - 0
383 - name: water_and_air_cooled_chassis
384 zones:
385 - 0
386 group: zone0_regulators
387 interface: xyz.openbmc_project.Sensor.Value
388 property:
389 name: Value
390 type: int64_t
391 action:
392 name: set_net_decrease_speed
393 property: 82000
394 factor:
395 value: 1000
396 type: int64_t
397 delta:
398 value: 10
399 type: uint64_t
400 timer:
401 interval: 15
Matthew Barth362d8232017-08-18 10:39:03 -0500402 - name: speed_increase_changes_based_on_dimm_temps
403 zone_conditions:
404 - name: air_cooled_chassis
405 zones:
406 - 0
407 - name: water_and_air_cooled_chassis
408 zones:
409 - 0
410 precondition:
411 name: property_states_match
412 groups:
413 - name: occ0_object
414 interface: org.open_power.OCC.Status
415 property:
416 name: OccActive
417 type: bool
418 value: true
419 - name: occ1_object
420 interface: org.open_power.OCC.Status
421 property:
422 name: OccActive
423 type: bool
424 value: true
425 group: zone0_dimms
426 interface: xyz.openbmc_project.Sensor.Value
427 property:
428 name: Value
429 type: int64_t
430 action:
431 name: set_net_increase_speed
432 property: 74000
433 factor:
434 value: 1000
435 type: int64_t
436 delta:
437 value: 200
438 type: uint64_t
439 - name: speed_decrease_changes_based_on_dimm_temps
440 zone_conditions:
441 - name: air_cooled_chassis
442 zones:
443 - 0
444 - name: water_and_air_cooled_chassis
445 zones:
446 - 0
447 precondition:
448 name: property_states_match
449 groups:
450 - name: occ0_object
451 interface: org.open_power.OCC.Status
452 property:
453 name: OccActive
454 type: bool
455 value: true
456 - name: occ1_object
457 interface: org.open_power.OCC.Status
458 property:
459 name: OccActive
460 type: bool
461 value: true
462 group: zone0_dimms
463 interface: xyz.openbmc_project.Sensor.Value
464 property:
465 name: Value
466 type: int64_t
467 action:
468 name: set_net_decrease_speed
469 property: 71000
470 factor:
471 value: 1000
472 type: int64_t
473 delta:
474 value: 10
475 type: uint64_t
476 timer:
477 interval: 15