blob: 2adf058282baed2fa2c890ebbbbd0ca65e985d78 [file] [log] [blame]
#Example set speed events for phosphor-fan-control
#groups:
# - name: [A unique name for this group]
# description: [A user description of what makes up the group]
# type: [The '/xyz/openbmc_project' path extension]
# members:
# [List of object paths under the path extension]
#
#actions:
# - name: [The name associated with a supported action function]
# description: [A user description of what this action does]
# parameters:
# [Ordered list of required parameters for the associated function]
#
#events:
# - name: [A unique name for this event]
# zone_conditions:
# - name: [The name of the zone condition]
# zones:
# - [Zone number to include this set speed event with]
# group: [A group name from the list of groups]
# interface: [The Dbus interface on the group members' object path]
# property: [The property name and type on the interface to be used]
# action:
# name: [Name of an action from the list of actions]
# [List each required action parameter with a defined type and value
# for this event. The 'property' parameter utilizes the same type
# defined under the 'property' attribute.]
#Example:
#groups:
# - name: zone0_fans
# description: Group of fan inventory objects for 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/ambient
# - name: occ0_object
# description: Dbus object containing OCC0 properties
# type: /org/open_power/control
# members:
# - /occ0
# - name: zone0_regulators
# description: Group of regulator temperature sensors for zone 0
# type: /xyz/openbmc_project/sensors
# members:
# - /temperature/p0_vdd_temp
# - /temperature/p1_vdd_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
#
#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
#
#actions:
# - 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 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 the delta decrease
# size times the given value and property's value difference
# parameters:
# - property
# - factor
# - delta
#
#events:
# - name: missing_before_high_speed
# zone_conditions:
# - name: air_cooled_chassis
# zones:
# - 0
# group: zone0_fans
# interface: xyz.openbmc_project.Inventory.Item
# property:
# name: Present
# type: bool
# actions:
# - name: count_state_before_speed
# count: 1
# property: false
# speed:
# value: 10500
# type: uint64_t
# - name: set_air_cooled_speed_boundaries_based_on_ambient
# zone_conditions:
# - name: air_cooled_chassis
# zones:
# - 0
# group: zone0_ambient
# interface: xyz.openbmc_project.Sensor.Value
# property:
# name: Value
# type: int64_t
# actions:
# - name: set_floor_from_average_sensor_value
# map:
# value:
# - 27000: 3500
# - 32000: 4600
# - 37000: 5200
# - 40000: 5800
# type: std::map<int64_t, uint64_t>
# - name: set_ceiling_from_average_sensor_value
# map:
# value:
# - 25000: 7200
# - 27000: 10500
# type: std::map<int64_t, uint64_t>
# - name: set_water_cooled_speed_boundaries_based_on_ambient
# zone_conditions:
# - name: water_and_air_cooled_chassis
# zones:
# - 0
# group: zone0_ambient
# interface: xyz.openbmc_project.Sensor.Value
# property:
# name: Value
# type: int64_t
# actions:
# - name: set_floor_from_average_sensor_value
# map:
# value:
# - 27000: 3000
# - 32000: 4300
# - 37000: 5000
# - 40000: 5800
# type: std::map<int64_t, uint64_t>
# - name: set_ceiling_from_average_sensor_value
# map:
# value:
# - 25000: 7200
# - 27000: 10500
# type: std::map<int64_t, uint64_t>
# - name: speed_changes_based_on_regulator_temps
# zone_conditions:
# - name: air_cooled_chassis
# zones:
# - 0
# - name: water_and_air_cooled_chassis
# zones:
# - 0
# group: zone0_regulators
# interface: xyz.openbmc_project.Sensor.Value
# property:
# name: Value
# type: int64_t
# actions:
# - name: set_net_increase_speed
# property: 85000
# factor:
# value: 1000
# type: int64_t
# delta:
# value: 400
# type: uint64_t
# - name: set_net_decrease_speed
# property: 82000
# factor:
# value: 1000
# type: int64_t
# delta:
# value: 40
# type: uint64_t
# timer:
# interval: 5
# - 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
# events:
# - name: speed_changes_based_on_dimm_temps
# zone_conditions:
# - name: air_cooled_chassis
# zones:
# - 0
# - name: water_and_air_cooled_chassis
# zones:
# - 0
# group: zone0_dimms
# interface: xyz.openbmc_project.Sensor.Value
# property:
# name: Value
# type: int64_t
# actions:
# - name: set_net_increase_speed
# property: 64000
# factor:
# value: 1000
# type: int64_t
# delta:
# value: 200
# type: uint64_t
# - name: set_net_decrease_speed
# property: 61000
# factor:
# value: 1000
# type: int64_t
# delta:
# value: 40
# type: uint64_t
# timer:
# interval: 5