blob: 6f9e48bc3ad975b3378768da5529878e84c5c504 [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:
Matt Spinlerf1b89a92017-09-07 12:21:29 -0500236 - 27000: 10500
237 - 32000: 10500
238 - 37000: 10500
239 - 40000: 10500
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:
Matt Spinlerf1b89a92017-09-07 12:21:29 -0500255 - 27000: 10500
256 - 32000: 10500
257 - 37000: 10500
258 - 40000: 10500
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
Matthew Barth184a1512017-08-16 10:42:54 -0500285 precondition:
286 name: property_states_match
287 groups:
288 - name: occ0_object
289 interface: org.open_power.OCC.Status
290 property:
291 name: OccActive
292 type: bool
293 value: true
294 - name: occ1_object
295 interface: org.open_power.OCC.Status
296 property:
297 name: OccActive
298 type: bool
299 value: true
300 group: zone0_cores
301 interface: xyz.openbmc_project.Sensor.Value
302 property:
303 name: Value
304 type: int64_t
305 action:
306 name: set_net_increase_speed
307 property: 73000
308 factor:
309 value: 1000
310 type: int64_t
311 delta:
312 value: 400
313 type: uint64_t
314 - name: speed_decrease_changes_based_on_core_temps
315 zone_conditions:
316 - name: air_cooled_chassis
317 zones:
318 - 0
Matthew Barth184a1512017-08-16 10:42:54 -0500319 precondition:
320 name: property_states_match
321 groups:
322 - name: occ0_object
323 interface: org.open_power.OCC.Status
324 property:
325 name: OccActive
326 type: bool
327 value: true
328 - name: occ1_object
329 interface: org.open_power.OCC.Status
330 property:
331 name: OccActive
332 type: bool
333 value: true
334 group: zone0_cores
335 interface: xyz.openbmc_project.Sensor.Value
336 property:
337 name: Value
338 type: int64_t
339 action:
340 name: set_net_decrease_speed
341 property: 70000
342 factor:
343 value: 1000
344 type: int64_t
345 delta:
346 value: 10
347 type: uint64_t
348 timer:
349 interval: 15
Matthew Barth7a512782017-08-16 12:43:07 -0500350 - name: speed_increase_changes_based_on_regulator_temps
351 zone_conditions:
352 - name: air_cooled_chassis
353 zones:
354 - 0
355 - name: water_and_air_cooled_chassis
356 zones:
357 - 0
358 group: zone0_regulators
359 interface: xyz.openbmc_project.Sensor.Value
360 property:
361 name: Value
362 type: int64_t
363 action:
364 name: set_net_increase_speed
365 property: 85000
366 factor:
367 value: 1000
368 type: int64_t
369 delta:
370 value: 400
371 type: uint64_t
372 - name: speed_decrease_changes_based_on_regulator_temps
373 zone_conditions:
374 - name: air_cooled_chassis
375 zones:
376 - 0
377 - name: water_and_air_cooled_chassis
378 zones:
379 - 0
380 group: zone0_regulators
381 interface: xyz.openbmc_project.Sensor.Value
382 property:
383 name: Value
384 type: int64_t
385 action:
386 name: set_net_decrease_speed
387 property: 82000
388 factor:
389 value: 1000
390 type: int64_t
391 delta:
392 value: 10
393 type: uint64_t
394 timer:
395 interval: 15
Matthew Barth362d8232017-08-18 10:39:03 -0500396 - name: speed_increase_changes_based_on_dimm_temps
397 zone_conditions:
398 - name: air_cooled_chassis
399 zones:
400 - 0
401 - name: water_and_air_cooled_chassis
402 zones:
403 - 0
404 precondition:
405 name: property_states_match
406 groups:
407 - name: occ0_object
408 interface: org.open_power.OCC.Status
409 property:
410 name: OccActive
411 type: bool
412 value: true
413 - name: occ1_object
414 interface: org.open_power.OCC.Status
415 property:
416 name: OccActive
417 type: bool
418 value: true
419 group: zone0_dimms
420 interface: xyz.openbmc_project.Sensor.Value
421 property:
422 name: Value
423 type: int64_t
424 action:
425 name: set_net_increase_speed
426 property: 74000
427 factor:
428 value: 1000
429 type: int64_t
430 delta:
431 value: 200
432 type: uint64_t
433 - name: speed_decrease_changes_based_on_dimm_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 precondition:
442 name: property_states_match
443 groups:
444 - name: occ0_object
445 interface: org.open_power.OCC.Status
446 property:
447 name: OccActive
448 type: bool
449 value: true
450 - name: occ1_object
451 interface: org.open_power.OCC.Status
452 property:
453 name: OccActive
454 type: bool
455 value: true
456 group: zone0_dimms
457 interface: xyz.openbmc_project.Sensor.Value
458 property:
459 name: Value
460 type: int64_t
461 action:
462 name: set_net_decrease_speed
463 property: 71000
464 factor:
465 value: 1000
466 type: int64_t
467 delta:
468 value: 10
469 type: uint64_t
470 timer:
471 interval: 15