blob: 967a0b797181067d3743381064f8c05a93149ea7 [file] [log] [blame]
Lei YU17bf1f12018-01-26 16:53:57 +08001groups:
2 - name: air_cooled_zone0_fans
3 description: Group of fan inventory objects for air cooled zone 0
4 type: /xyz/openbmc_project/inventory
5 members:
6 - /system/chassis/motherboard/fan0
7 - /system/chassis/motherboard/fan1
8 - /system/chassis/motherboard/fan2
9 - name: zone0_ambient
10 description: Group of ambient temperature sensors for zone 0
11 type: /xyz/openbmc_project/sensors
12 members:
13 - /temperature/outlet
14 - name: occ0_object
15 description: Dbus object containing OCC0 properties
16 type: /org/open_power/control
17 members:
18 - /occ0
19 - name: occ1_object
20 description: Dbus object containing OCC1 properties
21 type: /org/open_power/control
22 members:
23 - /occ1
24 - name: zone0_cores
25 description: Group of core temperature sensors for zone 0
26 type: /xyz/openbmc_project/sensors
27 members:
28 - /temperature/p0_core0_temp
29 - /temperature/p0_core1_temp
30 - /temperature/p0_core2_temp
31 - /temperature/p0_core3_temp
32 - /temperature/p0_core4_temp
33 - /temperature/p0_core5_temp
34 - /temperature/p0_core6_temp
35 - /temperature/p0_core7_temp
36 - /temperature/p0_core8_temp
37 - /temperature/p0_core9_temp
38 - /temperature/p0_core10_temp
39 - /temperature/p0_core11_temp
40 - /temperature/p0_core12_temp
41 - /temperature/p0_core13_temp
42 - /temperature/p0_core14_temp
43 - /temperature/p0_core15_temp
44 - /temperature/p0_core16_temp
45 - /temperature/p0_core17_temp
46 - /temperature/p0_core18_temp
47 - /temperature/p0_core19_temp
48 - /temperature/p0_core20_temp
49 - /temperature/p0_core21_temp
50 - /temperature/p0_core22_temp
51 - /temperature/p0_core23_temp
52 - /temperature/p1_core0_temp
53 - /temperature/p1_core1_temp
54 - /temperature/p1_core2_temp
55 - /temperature/p1_core3_temp
56 - /temperature/p1_core4_temp
57 - /temperature/p1_core5_temp
58 - /temperature/p1_core6_temp
59 - /temperature/p1_core7_temp
60 - /temperature/p1_core8_temp
61 - /temperature/p1_core9_temp
62 - /temperature/p1_core10_temp
63 - /temperature/p1_core11_temp
64 - /temperature/p1_core12_temp
65 - /temperature/p1_core13_temp
66 - /temperature/p1_core14_temp
67 - /temperature/p1_core15_temp
68 - /temperature/p1_core16_temp
69 - /temperature/p1_core17_temp
70 - /temperature/p1_core18_temp
71 - /temperature/p1_core19_temp
72 - /temperature/p1_core20_temp
73 - /temperature/p1_core21_temp
74 - /temperature/p1_core22_temp
75 - /temperature/p1_core23_temp
76 - name: zone0_dimms
77 description: Group of dimm temperature sensors for zone 0
78 type: /xyz/openbmc_project/sensors
79 members:
80 - /temperature/dimm0_temp
81 - /temperature/dimm1_temp
82 - /temperature/dimm2_temp
83 - /temperature/dimm3_temp
84 - /temperature/dimm4_temp
85 - /temperature/dimm5_temp
86 - /temperature/dimm6_temp
87 - /temperature/dimm7_temp
88 - /temperature/dimm8_temp
89 - /temperature/dimm9_temp
90 - /temperature/dimm10_temp
91 - /temperature/dimm11_temp
92 - /temperature/dimm12_temp
93 - /temperature/dimm13_temp
94 - /temperature/dimm14_temp
95 - /temperature/dimm15_temp
96
97matches:
98 - name: propertiesChanged
99 description: >
100 A property changed match
101 parameters:
102 - object
103 - interface
104 signal: propertySignal
105 - name: interfacesAdded
106 description: >
107 An interfaces added match
108 parameters:
109 - object
110 signal: objectSignal
111 - name: nameOwnerChanged
112 description: >
113 A name owner changed match
114 parameters:
115 - object
116 - interface
117 signal: ownerSignal
118
119signals:
120 - name: propertySignal
121 description: >
122 Handle property signals
123 parameters:
124 - type
125 - object
126 - interface
127 - property
128 handler: setProperty
129 - name: objectSignal
130 description: >
131 Handle object signals
132 parameters:
133 - type
134 - object
135 - interface
136 - property
137 handler: setProperty
138 - name: ownerSignal
139 description: >
140 Handle owner signals
141 parameters:
142 - object
143 - interface
144 handler: setService
145
146handlers:
147 - name: setProperty
148 description: >
149 Sets a value for the given object/interface/property
150 parameters:
151 - type
152 - object
153 - interface
154 - property
155 - name: setService
156 description: >
157 Sets the service name(s) for the given group
158 parameters:
159 - group
160
161preconditions:
162 - name: property_states_match
163 description: >
164 All defined properties must match the values given to
165 enable a set speed event otherwise fan speeds are set to full
166 parameters:
167 - groups
168
169actions:
170 - name: call_actions_based_on_timer
171 description: >
172 Sets up a list of actions to be invoked when the defined timer
173 expires (or for each expiration of a repeating timer)
174 parameters:
175 - timer
176 - actions
177 - name: default_floor_on_missing_owner
178 description: >
179 Set the fan floor to the default floor
180 - name: set_speed_on_missing_owner
181 description: >
182 Set fans to the given speed when any service within the group
183 no longer exists
184 parameters:
185 - speed
186 - name: set_request_speed_base_with_max
187 description: >
188 Set the base request speed of a zone to the max value of a group for
189 calculating a new target speed
190 - name: count_state_before_speed
191 description: Set the speed when a number of properties at a state
192 parameters:
193 - count
194 - property
195 - speed
196 - name: set_floor_from_average_sensor_value
197 description: Set floor speed from first entry with average less than key
198 parameters:
199 - map
200 - name: set_ceiling_from_average_sensor_value
201 description: Set ceiling speed based on key transition values with average
202 parameters:
203 - map
204 - name: set_net_increase_speed
205 description: >
206 Set the speed increase delta based on a factor applied to
207 the delta increase size times the given value and property's
208 value difference
209 parameters:
210 - property
211 - factor
212 - delta
213 - name: set_net_decrease_speed
214 description: >
215 Set the speed decrease delta based on a factor applied to
216 the delta decrease size times the given value and property's
217 value difference
218 parameters:
219 - property
220 - factor
221 - delta
222
223events:
224 - name: missing_before_high_speed_air
225 groups:
226 - name: air_cooled_zone0_fans
227 interface: xyz.openbmc_project.Inventory.Item
228 property:
229 name: Present
230 type: bool
231 matches:
232 - name: propertiesChanged
233 actions:
234 - name: count_state_before_speed
235 count: 1
236 property:
237 value: false
238 type: bool
239 speed:
240 value: 255
241 type: uint64_t
242 - name: fails_before_high_speed_air
243 groups:
244 - name: air_cooled_zone0_fans
245 interface: xyz.openbmc_project.State.Decorator.OperationalStatus
246 property:
247 name: Functional
248 type: bool
249 matches:
250 - name: propertiesChanged
251 actions:
252 - name: count_state_before_speed
253 count: 1
254 property:
255 value: false
256 type: bool
257 speed:
258 value: 255
259 type: uint64_t
260 - name: set_air_cooled_speed_boundaries_based_on_ambient
261 groups:
262 - name: zone0_ambient
263 interface: xyz.openbmc_project.Sensor.Value
264 property:
265 name: Value
266 type: int64_t
267 matches:
268 - name: propertiesChanged
269 actions:
270 - name: set_floor_from_average_sensor_value
271 map:
272 value:
273 - 27000: 85
274 - 32000: 112
275 - 37000: 126
276 - 40000: 141
277 type: std::map<int64_t, uint64_t>
278 - name: set_ceiling_from_average_sensor_value
279 map:
280 value:
281 - 25000: 175
282 - 27000: 255
283 type: std::map<int64_t, uint64_t>
284 - name: occ_active_speed_changes
285 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 matches:
301 - name: interfacesAdded
302 - name: propertiesChanged
303 events:
304 - name: speed_changes_based_on_core_temps
305 groups:
306 - name: zone0_cores
307 interface: xyz.openbmc_project.Sensor.Value
308 property:
309 name: Value
310 type: int64_t
311 matches:
312 - name: interfacesAdded
313 - name: propertiesChanged
314 actions:
315 - name: set_net_increase_speed
316 property:
317 value: 73000
318 type: int64_t
319 factor:
320 value: 1000
321 type: int64_t
322 delta:
323 value: 11
324 type: uint64_t
325 - name: set_net_decrease_speed
326 property:
327 value: 70000
328 type: int64_t
329 factor:
330 value: 1000
331 type: int64_t
332 delta:
333 value: 11
334 type: uint64_t
335 timer:
336 interval: 5
337 - name: speed_changes_based_on_dimm_temps
338 groups:
339 - name: zone0_dimms
340 interface: xyz.openbmc_project.Sensor.Value
341 property:
342 name: Value
343 type: int64_t
344 matches:
345 - name: interfacesAdded
346 - name: propertiesChanged
347 actions:
348 - name: set_net_increase_speed
349 property:
350 value: 64000
351 type: int64_t
352 factor:
353 value: 1000
354 type: int64_t
355 delta:
356 value: 6
357 type: uint64_t
358 - name: set_net_decrease_speed
359 property:
360 value: 61000
361 type: int64_t
362 factor:
363 value: 1000
364 type: int64_t
365 delta:
366 value: 6
367 type: uint64_t
368 timer:
369 interval: 5