blob: d87c19713114c4f86715e92d4f4d3b2eae4e6061 [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 Barth184a1512017-08-16 10:42:54 -050090
91preconditions:
92 - name: property_states_match
93 description: >
94 All defined properties must match the values given to
95 enable a set speed event otherwise fan speeds are set to full
96 parameters:
97 - groups
Matthew Barthbde68592017-05-24 17:06:13 -050098
99actions:
100 - name: count_state_before_speed
101 description: Set the speed when a number of properties at a state
102 parameters:
103 - count
104 - property
105 - speed
Matthew Barth5cde5a62017-07-10 15:35:29 -0500106 - name: set_floor_from_average_sensor_value
107 description: Set floor speed from first entry with average less than key
108 parameters:
109 - map
110 - name: set_ceiling_from_average_sensor_value
111 description: Set ceiling speed based on key transition values with average
112 parameters:
113 - map
Matthew Barth184a1512017-08-16 10:42:54 -0500114 - name: set_net_increase_speed
115 description: >
116 Set the speed increase delta based on a factor applied to
117 the delta increase size times the given value and property's
118 value difference
119 parameters:
120 - property
121 - factor
122 - delta
123 - name: set_net_decrease_speed
124 description: >
125 Set the speed decrease delta based on a factor applied to
126 the delta decrease size times the given value and property's
127 value difference
128 parameters:
129 - property
130 - factor
131 - delta
Matthew Barthbde68592017-05-24 17:06:13 -0500132
133events:
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500134 - name: missing_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500135 zone_conditions:
136 - name: air_cooled_chassis
137 zones:
138 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500139 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500140 interface: xyz.openbmc_project.Inventory.Item
141 property:
142 name: Present
143 type: bool
144 action:
145 name: count_state_before_speed
146 count: 1
147 property: false
148 speed:
149 value: 10500
150 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500151 - name: fails_before_high_speed_air
Matthew Barthbde68592017-05-24 17:06:13 -0500152 zone_conditions:
153 - name: air_cooled_chassis
154 zones:
155 - 0
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500156 group: air_cooled_zone0_fans
Matthew Barthbde68592017-05-24 17:06:13 -0500157 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
158 property:
159 name: Functional
160 type: bool
161 action:
162 name: count_state_before_speed
163 count: 1
164 property: false
165 speed:
166 value: 10500
167 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500168 - name: missing_before_high_speed_water_and_air
169 zone_conditions:
170 - name: water_and_air_cooled_chassis
171 zones:
172 - 0
173 group: water_and_air_cooled_zone0_fans
174 interface: xyz.openbmc_project.Inventory.Item
175 property:
176 name: Present
177 type: bool
178 action:
179 name: count_state_before_speed
180 count: 1
181 property: false
182 speed:
183 value: 10500
184 type: uint64_t
185 - name: fails_before_high_speed_water_and_air
186 zone_conditions:
187 - name: water_and_air_cooled_chassis
188 zones:
189 - 0
190 group: water_and_air_cooled_zone0_fans
191 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
192 property:
193 name: Functional
194 type: bool
195 action:
196 name: count_state_before_speed
197 count: 1
198 property: false
199 speed:
200 value: 10500
201 type: uint64_t
Matthew Barth5cde5a62017-07-10 15:35:29 -0500202 - name: update_air_cooled_floor_speed_based_on_ambient
203 zone_conditions:
204 - name: air_cooled_chassis
205 zones:
206 - 0
207 group: zone0_ambient
208 interface: xyz.openbmc_project.Sensor.Value
209 property:
210 name: Value
211 type: int64_t
212 action:
213 name: set_floor_from_average_sensor_value
214 map:
215 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500216 - 27000: 8000
217 - 32000: 8000
218 - 37000: 8000
219 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500220 type: std::map<int64_t, uint64_t>
221 - name: update_water_cooled_floor_speed_based_on_ambient
222 zone_conditions:
223 - name: water_and_air_cooled_chassis
224 zones:
225 - 0
226 group: zone0_ambient
227 interface: xyz.openbmc_project.Sensor.Value
228 property:
229 name: Value
230 type: int64_t
231 action:
232 name: set_floor_from_average_sensor_value
233 map:
234 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500235 - 27000: 8000
236 - 32000: 8000
237 - 37000: 8000
238 - 40000: 8000
Matthew Barth5cde5a62017-07-10 15:35:29 -0500239 type: std::map<int64_t, uint64_t>
240 - name: update_ceiling_speed_based_on_ambient
241 zone_conditions:
242 - name: air_cooled_chassis
243 zones:
244 - 0
245 - name: water_and_air_cooled_chassis
246 zones:
247 - 0
248 group: zone0_ambient
249 interface: xyz.openbmc_project.Sensor.Value
250 property:
251 name: Value
252 type: int64_t
253 action:
254 name: set_ceiling_from_average_sensor_value
255 map:
256 value:
Matthew Barthd82e9d12017-08-16 11:07:46 -0500257 - 25000: 10500
Matthew Barth5cde5a62017-07-10 15:35:29 -0500258 - 27000: 10500
259 type: std::map<int64_t, uint64_t>
Matthew Barth184a1512017-08-16 10:42:54 -0500260 - name: speed_increase_changes_based_on_core_temps
261 zone_conditions:
262 - name: air_cooled_chassis
263 zones:
264 - 0
265 - name: water_and_air_cooled_chassis
266 zones:
267 - 0
268 precondition:
269 name: property_states_match
270 groups:
271 - name: occ0_object
272 interface: org.open_power.OCC.Status
273 property:
274 name: OccActive
275 type: bool
276 value: true
277 - name: occ1_object
278 interface: org.open_power.OCC.Status
279 property:
280 name: OccActive
281 type: bool
282 value: true
283 group: zone0_cores
284 interface: xyz.openbmc_project.Sensor.Value
285 property:
286 name: Value
287 type: int64_t
288 action:
289 name: set_net_increase_speed
290 property: 73000
291 factor:
292 value: 1000
293 type: int64_t
294 delta:
295 value: 400
296 type: uint64_t
297 - name: speed_decrease_changes_based_on_core_temps
298 zone_conditions:
299 - name: air_cooled_chassis
300 zones:
301 - 0
302 - name: water_and_air_cooled_chassis
303 zones:
304 - 0
305 precondition:
306 name: property_states_match
307 groups:
308 - name: occ0_object
309 interface: org.open_power.OCC.Status
310 property:
311 name: OccActive
312 type: bool
313 value: true
314 - name: occ1_object
315 interface: org.open_power.OCC.Status
316 property:
317 name: OccActive
318 type: bool
319 value: true
320 group: zone0_cores
321 interface: xyz.openbmc_project.Sensor.Value
322 property:
323 name: Value
324 type: int64_t
325 action:
326 name: set_net_decrease_speed
327 property: 70000
328 factor:
329 value: 1000
330 type: int64_t
331 delta:
332 value: 10
333 type: uint64_t
334 timer:
335 interval: 15
Matthew Barth7a512782017-08-16 12:43:07 -0500336 - name: speed_increase_changes_based_on_regulator_temps
337 zone_conditions:
338 - name: air_cooled_chassis
339 zones:
340 - 0
341 - name: water_and_air_cooled_chassis
342 zones:
343 - 0
344 group: zone0_regulators
345 interface: xyz.openbmc_project.Sensor.Value
346 property:
347 name: Value
348 type: int64_t
349 action:
350 name: set_net_increase_speed
351 property: 85000
352 factor:
353 value: 1000
354 type: int64_t
355 delta:
356 value: 400
357 type: uint64_t
358 - name: speed_decrease_changes_based_on_regulator_temps
359 zone_conditions:
360 - name: air_cooled_chassis
361 zones:
362 - 0
363 - name: water_and_air_cooled_chassis
364 zones:
365 - 0
366 group: zone0_regulators
367 interface: xyz.openbmc_project.Sensor.Value
368 property:
369 name: Value
370 type: int64_t
371 action:
372 name: set_net_decrease_speed
373 property: 82000
374 factor:
375 value: 1000
376 type: int64_t
377 delta:
378 value: 10
379 type: uint64_t
380 timer:
381 interval: 15