465 lines
16 KiB
YAML
465 lines
16 KiB
YAML
groups:
|
|
- name: air_cooled_zone0_fans
|
|
description: Group of fan inventory objects for air cooled zone 0
|
|
type: /xyz/openbmc_project/inventory
|
|
members:
|
|
- /system/chassis/motherboard/fan0
|
|
- /system/chassis/motherboard/fan1
|
|
- /system/chassis/motherboard/fan2
|
|
- /system/chassis/motherboard/fan3
|
|
- name: zone0_ambient
|
|
description: Group of ambient temperature sensors for zone 0
|
|
type: /xyz/openbmc_project/sensors
|
|
members:
|
|
- /temperature/inlet
|
|
- name: occ0_object
|
|
description: Dbus object containing OCC0 properties
|
|
type: /org/open_power/control
|
|
members:
|
|
- /occ0
|
|
- name: occ1_object
|
|
description: Dbus object containing OCC1 properties
|
|
type: /org/open_power/control
|
|
members:
|
|
- /occ1
|
|
- name: zone0_cores
|
|
description: Group of core temperature sensors for zone 0
|
|
type: /xyz/openbmc_project/sensors
|
|
members:
|
|
- /temperature/p0_core0_temp
|
|
- /temperature/p0_core1_temp
|
|
- /temperature/p0_core2_temp
|
|
- /temperature/p0_core3_temp
|
|
- /temperature/p0_core4_temp
|
|
- /temperature/p0_core5_temp
|
|
- /temperature/p0_core6_temp
|
|
- /temperature/p0_core7_temp
|
|
- /temperature/p0_core8_temp
|
|
- /temperature/p0_core9_temp
|
|
- /temperature/p0_core10_temp
|
|
- /temperature/p0_core11_temp
|
|
- /temperature/p0_core12_temp
|
|
- /temperature/p0_core13_temp
|
|
- /temperature/p0_core14_temp
|
|
- /temperature/p0_core15_temp
|
|
- /temperature/p0_core16_temp
|
|
- /temperature/p0_core17_temp
|
|
- /temperature/p0_core18_temp
|
|
- /temperature/p0_core19_temp
|
|
- /temperature/p0_core20_temp
|
|
- /temperature/p0_core21_temp
|
|
- /temperature/p0_core22_temp
|
|
- /temperature/p0_core23_temp
|
|
- /temperature/p1_core0_temp
|
|
- /temperature/p1_core1_temp
|
|
- /temperature/p1_core2_temp
|
|
- /temperature/p1_core3_temp
|
|
- /temperature/p1_core4_temp
|
|
- /temperature/p1_core5_temp
|
|
- /temperature/p1_core6_temp
|
|
- /temperature/p1_core7_temp
|
|
- /temperature/p1_core8_temp
|
|
- /temperature/p1_core9_temp
|
|
- /temperature/p1_core10_temp
|
|
- /temperature/p1_core11_temp
|
|
- /temperature/p1_core12_temp
|
|
- /temperature/p1_core13_temp
|
|
- /temperature/p1_core14_temp
|
|
- /temperature/p1_core15_temp
|
|
- /temperature/p1_core16_temp
|
|
- /temperature/p1_core17_temp
|
|
- /temperature/p1_core18_temp
|
|
- /temperature/p1_core19_temp
|
|
- /temperature/p1_core20_temp
|
|
- /temperature/p1_core21_temp
|
|
- /temperature/p1_core22_temp
|
|
- /temperature/p1_core23_temp
|
|
- name: zone0_dimms
|
|
description: Group of dimm temperature sensors for zone 0
|
|
type: /xyz/openbmc_project/sensors
|
|
members:
|
|
- /temperature/dimm0_temp
|
|
- /temperature/dimm1_temp
|
|
- /temperature/dimm2_temp
|
|
- /temperature/dimm3_temp
|
|
- /temperature/dimm4_temp
|
|
- /temperature/dimm5_temp
|
|
- /temperature/dimm6_temp
|
|
- /temperature/dimm7_temp
|
|
- /temperature/dimm8_temp
|
|
- /temperature/dimm9_temp
|
|
- /temperature/dimm10_temp
|
|
- /temperature/dimm11_temp
|
|
- /temperature/dimm12_temp
|
|
- /temperature/dimm13_temp
|
|
- /temperature/dimm14_temp
|
|
- /temperature/dimm15_temp
|
|
|
|
matches:
|
|
- name: propertiesChanged
|
|
parameters:
|
|
- object
|
|
- interface
|
|
- name: interfacesAdded
|
|
parameters:
|
|
- object
|
|
- name: nameOwnerChanged
|
|
parameters:
|
|
- object
|
|
- interface
|
|
|
|
signals:
|
|
- name: propertiesChanged
|
|
description: >
|
|
A property changed match
|
|
parameters:
|
|
- type
|
|
- object
|
|
- interface
|
|
- property
|
|
match: propertiesChanged
|
|
- name: interfacesAdded
|
|
description: >
|
|
An interfaces added match
|
|
parameters:
|
|
- type
|
|
- object
|
|
- interface
|
|
- property
|
|
match: interfacesAdded
|
|
- name: nameOwnerChanged
|
|
description: >
|
|
A name owner changed match
|
|
parameters:
|
|
match: nameOwnerChanged
|
|
|
|
methods:
|
|
- name: getProperties
|
|
description: >
|
|
Get the property values of the given group members
|
|
by performing a `GetProperty` method call on each
|
|
parameters:
|
|
- type
|
|
- name: nameHasOwner
|
|
description: >
|
|
A NameHasOwner method call to be performed on all event group members
|
|
parameters:
|
|
|
|
handlers:
|
|
- name: setProperty
|
|
description: >
|
|
Sets a value for the given object/interface/property
|
|
parameters:
|
|
- type
|
|
- name: setService
|
|
description: >
|
|
Sets the service name and ownership status for the given group
|
|
parameters:
|
|
- group
|
|
|
|
preconditions:
|
|
- name: property_states_match
|
|
description: >
|
|
All defined properties must match the values given to
|
|
enable a set speed event otherwise fan speeds are set to full
|
|
parameters:
|
|
- groups
|
|
- name: services_missing_owner
|
|
description: >
|
|
Any services missing an owner enable the events given otherwise
|
|
the events are removed/disabled
|
|
parameters:
|
|
|
|
actions:
|
|
- name: call_actions_based_on_timer
|
|
description: >
|
|
Sets up a list of actions to be invoked when the defined timer
|
|
expires (or for each expiration of a repeating timer)
|
|
parameters:
|
|
- timer
|
|
- actions
|
|
- name: default_floor_on_missing_owner
|
|
description: >
|
|
Set the fan floor to the default floor
|
|
- name: set_speed_on_missing_owner
|
|
description: >
|
|
Set fans to the given speed when any service within the group
|
|
no longer exists
|
|
parameters:
|
|
- speed
|
|
- name: set_request_speed_base_with_max
|
|
description: >
|
|
Set the base request speed of a zone to the max value of a group for
|
|
calculating a new target speed
|
|
- name: count_state_before_speed
|
|
description: Set the speed when a number of properties at a state
|
|
parameters:
|
|
- count
|
|
- property
|
|
- speed
|
|
- name: set_floor_from_average_sensor_value
|
|
description: Set floor speed from first entry with average less than key
|
|
parameters:
|
|
- map
|
|
- name: set_ceiling_from_average_sensor_value
|
|
description: Set ceiling speed based on key transition values with average
|
|
parameters:
|
|
- map
|
|
- name: set_net_increase_speed
|
|
description: >
|
|
Set the speed increase delta based on a factor applied to
|
|
the delta increase size times the given value and property's
|
|
value difference
|
|
parameters:
|
|
- property
|
|
- factor
|
|
- delta
|
|
- name: set_net_decrease_speed
|
|
description: >
|
|
Set the speed decrease delta based on a factor applied to
|
|
the delta decrease size times the given value and property's
|
|
value difference
|
|
parameters:
|
|
- property
|
|
- factor
|
|
- delta
|
|
|
|
events:
|
|
- name: default_fan_floor_on_service_fail
|
|
precondition:
|
|
name: services_missing_owner
|
|
groups:
|
|
- name: zone0_ambient
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
triggers:
|
|
- name: init
|
|
method: nameHasOwner
|
|
handler: setService
|
|
- name: signal
|
|
signal: nameOwnerChanged
|
|
handler: setService
|
|
events:
|
|
- name: default_fan_floor
|
|
groups:
|
|
- name: zone0_ambient
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
triggers:
|
|
- name: timer
|
|
interval: 5000000
|
|
type: oneshot
|
|
actions:
|
|
- name: default_floor_on_missing_owner
|
|
- name: high_speed_on_occ_service_fail
|
|
groups:
|
|
- name: occ0_object
|
|
interface: org.open_power.OCC.Status
|
|
property:
|
|
name: OccActive
|
|
type: bool
|
|
- name: occ1_object
|
|
interface: org.open_power.OCC.Status
|
|
property:
|
|
name: OccActive
|
|
type: bool
|
|
triggers:
|
|
- name: init
|
|
method: nameHasOwner
|
|
handler: setService
|
|
- name: signal
|
|
signal: nameOwnerChanged
|
|
handler: setService
|
|
actions:
|
|
- name: call_actions_based_on_timer
|
|
timer:
|
|
interval: 5000000
|
|
type: oneshot
|
|
actions:
|
|
- name: set_speed_on_missing_owner
|
|
speed:
|
|
value: 255
|
|
type: uint64_t
|
|
- name: missing_or_fails_before_high_speed_air
|
|
groups:
|
|
- name: air_cooled_zone0_fans
|
|
interface: xyz.openbmc_project.Inventory.Item
|
|
property:
|
|
name: Present
|
|
type: bool
|
|
- name: air_cooled_zone0_fans
|
|
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
|
|
property:
|
|
name: Functional
|
|
type: bool
|
|
triggers:
|
|
- name: init
|
|
method: getProperties
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: propertiesChanged
|
|
handler: setProperty
|
|
actions:
|
|
- name: count_state_before_speed
|
|
count: 1
|
|
property:
|
|
value: false
|
|
type: bool
|
|
speed:
|
|
value: 255
|
|
type: uint64_t
|
|
- name: set_air_cooled_speed_boundaries_based_on_ambient
|
|
groups:
|
|
- name: zone0_ambient
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
triggers:
|
|
- name: init
|
|
method: getProperties
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: propertiesChanged
|
|
handler: setProperty
|
|
actions:
|
|
- name: set_floor_from_average_sensor_value
|
|
map:
|
|
value:
|
|
- 27000: 85
|
|
- 32000: 112
|
|
- 37000: 126
|
|
- 40000: 141
|
|
type: std::map<int64_t, uint64_t>
|
|
- name: set_ceiling_from_average_sensor_value
|
|
map:
|
|
value:
|
|
- 25000: 175
|
|
- 27000: 255
|
|
type: std::map<int64_t, uint64_t>
|
|
- name: occ_active_speed_changes
|
|
precondition:
|
|
name: property_states_match
|
|
groups:
|
|
- name: occ0_object
|
|
interface: org.open_power.OCC.Status
|
|
property:
|
|
name: OccActive
|
|
type: bool
|
|
value: true
|
|
- name: occ1_object
|
|
interface: org.open_power.OCC.Status
|
|
property:
|
|
name: OccActive
|
|
type: bool
|
|
value: true
|
|
triggers:
|
|
- name: init
|
|
method: getProperties
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: interfacesAdded
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: propertiesChanged
|
|
handler: setProperty
|
|
events:
|
|
- name: speed_control_sensors
|
|
groups:
|
|
- name: zone0_cores
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
- name: zone0_dimms
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
triggers:
|
|
- name: init
|
|
method: getProperties
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: interfacesAdded
|
|
handler: setProperty
|
|
- name: signal
|
|
signal: propertiesChanged
|
|
handler: setProperty
|
|
- name: 1sec_speed_change_request_sampling
|
|
triggers:
|
|
- name: timer
|
|
interval: 1000000
|
|
type: repeating
|
|
actions:
|
|
# Speed changes based on core temps
|
|
- name: set_net_increase_speed
|
|
groups:
|
|
- name: zone0_cores
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
property:
|
|
value: 73000
|
|
type: int64_t
|
|
factor:
|
|
value: 1000
|
|
type: int64_t
|
|
delta:
|
|
value: 11
|
|
type: uint64_t
|
|
- name: set_net_decrease_speed
|
|
groups:
|
|
- name: zone0_cores
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
property:
|
|
value: 70000
|
|
type: int64_t
|
|
factor:
|
|
value: 1000
|
|
type: int64_t
|
|
delta:
|
|
value: 11
|
|
type: uint64_t
|
|
# Speed changes based on dimm temps
|
|
- name: set_net_increase_speed
|
|
groups:
|
|
- name: zone0_dimms
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
property:
|
|
value: 64000
|
|
type: int64_t
|
|
factor:
|
|
value: 1000
|
|
type: int64_t
|
|
delta:
|
|
value: 6
|
|
type: uint64_t
|
|
- name: set_net_decrease_speed
|
|
groups:
|
|
- name: zone0_dimms
|
|
interface: xyz.openbmc_project.Sensor.Value
|
|
property:
|
|
name: Value
|
|
type: int64_t
|
|
property:
|
|
value: 61000
|
|
type: int64_t
|
|
factor:
|
|
value: 1000
|
|
type: int64_t
|
|
delta:
|
|
value: 6
|
|
type: uint64_t
|