blob: 74fd0ada12b41d510ccdb0f08691cc46038d6992 [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
Matthew Barth2e104962017-09-14 12:32:49 -0500164 actions:
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
Matthew Barth2e104962017-09-14 12:32:49 -0500181 actions:
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
Matthew Barth2e104962017-09-14 12:32:49 -0500198 actions:
199 - name: count_state_before_speed
200 count: 1
201 property: false
202 speed:
203 value: 10500
204 type: uint64_t
Matthew Barth2ca6b7b2017-06-30 11:07:51 -0500205 - 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
Matthew Barth2e104962017-09-14 12:32:49 -0500215 actions:
216 - name: count_state_before_speed
217 count: 1
218 property: false
219 speed:
220 value: 10500
221 type: uint64_t
222 - name: set_air_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500223 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
Matthew Barth2e104962017-09-14 12:32:49 -0500232 actions:
233 - name: set_floor_from_average_sensor_value
234 map:
235 value:
236 - 27000: 10500
237 - 32000: 10500
238 - 37000: 10500
239 - 40000: 10500
240 type: std::map<int64_t, uint64_t>
241 - name: set_ceiling_from_average_sensor_value
242 map:
243 value:
244 - 25000: 10500
245 - 27000: 10500
246 type: std::map<int64_t, uint64_t>
247 - name: set_water_cooled_speed_boundaries_based_on_ambient
Matthew Barth5cde5a62017-07-10 15:35:29 -0500248 zone_conditions:
249 - name: water_and_air_cooled_chassis
250 zones:
251 - 0
252 group: zone0_ambient
253 interface: xyz.openbmc_project.Sensor.Value
254 property:
255 name: Value
256 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500257 actions:
258 - name: set_floor_from_average_sensor_value
259 map:
260 value:
261 - 27000: 10500
262 - 32000: 10500
263 - 37000: 10500
264 - 40000: 10500
265 type: std::map<int64_t, uint64_t>
266 - name: set_ceiling_from_average_sensor_value
267 map:
268 value:
269 - 25000: 10500
270 - 27000: 10500
271 type: std::map<int64_t, uint64_t>
272 - name: speed_changes_based_on_regulator_temps
Matthew Barth7a512782017-08-16 12:43:07 -0500273 zone_conditions:
274 - name: air_cooled_chassis
275 zones:
276 - 0
277 - name: water_and_air_cooled_chassis
278 zones:
279 - 0
280 group: zone0_regulators
281 interface: xyz.openbmc_project.Sensor.Value
282 property:
283 name: Value
284 type: int64_t
Matthew Barth2e104962017-09-14 12:32:49 -0500285 actions:
286 - name: set_net_increase_speed
287 property: 85000
288 factor:
289 value: 1000
290 type: int64_t
291 delta:
292 value: 400
293 type: uint64_t
294 - name: set_net_decrease_speed
295 property: 82000
296 factor:
297 value: 1000
298 type: int64_t
299 delta:
300 value: 10
301 type: uint64_t
Matthew Barth7a512782017-08-16 12:43:07 -0500302 timer:
303 interval: 15
Matthew Barth2e104962017-09-14 12:32:49 -0500304 - name: occ_active_speed_changes
Matthew Barth362d8232017-08-18 10:39:03 -0500305 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
Matthew Barth2e104962017-09-14 12:32:49 -0500320 events:
321 - name: speed_changes_based_on_core_temps
322 zone_conditions:
323 - name: air_cooled_chassis
324 zones:
325 - 0
326 group: zone0_cores
327 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500328 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500329 name: Value
330 type: int64_t
331 actions:
332 - name: set_net_increase_speed
333 property: 73000
334 factor:
335 value: 1000
336 type: int64_t
337 delta:
338 value: 400
339 type: uint64_t
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
350 - name: speed_changes_based_on_dimm_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_dimms
359 interface: xyz.openbmc_project.Sensor.Value
Matthew Barth362d8232017-08-18 10:39:03 -0500360 property:
Matthew Barth2e104962017-09-14 12:32:49 -0500361 name: Value
362 type: int64_t
363 actions:
364 - name: set_net_increase_speed
365 property: 74000
366 factor:
367 value: 1000
368 type: int64_t
369 delta:
370 value: 200
371 type: uint64_t
372 - name: set_net_decrease_speed
373 property: 71000
374 factor:
375 value: 1000
376 type: int64_t
377 delta:
378 value: 10
379 type: uint64_t
380 timer:
381 interval: 15