summaryrefslogtreecommitdiff
path: root/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml')
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml715
1 files changed, 715 insertions, 0 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
new file mode 100644
index 000000000..ec63490f3
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
@@ -0,0 +1,715 @@
+groups:
+ - name: zone0_control_mode
+ description: Thermal control mode for zone 0
+ service: xyz.openbmc_project.Control.Thermal
+ type: /xyz/openbmc_project/control/thermal
+ members:
+ - /0
+ - 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
+ - /system/chassis/motherboard/fan4
+ - /system/chassis/motherboard/fan5
+ - name: zone0_ambient
+ description: Group of ambient temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/ambient_temp
+ - 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
+ - /temperature/dimm16_temp
+ - /temperature/dimm17_temp
+ - /temperature/dimm18_temp
+ - /temperature/dimm19_temp
+ - /temperature/dimm20_temp
+ - /temperature/dimm21_temp
+ - /temperature/dimm22_temp
+ - /temperature/dimm23_temp
+ - /temperature/dimm24_temp
+ - /temperature/dimm25_temp
+ - /temperature/dimm26_temp
+ - /temperature/dimm27_temp
+ - /temperature/dimm28_temp
+ - /temperature/dimm29_temp
+ - /temperature/dimm30_temp
+ - /temperature/dimm31_temp
+ - name: zone0_onboard
+ description: Group of onboard temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/p0_pcie_temp
+ - /temperature/p1_pcie_temp
+ - name: zone0_vrd
+ description: Group of vrd temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/p0_vcs_temp
+ - /temperature/p0_vdn_temp
+ - /temperature/p1_vcs_temp
+ - /temperature/p1_vdn_temp
+ - /temperature/p0_vdd_temp
+ - /temperature/p1_vdd_temp
+ - name: zone0_gpu
+ description: Group of gpu temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/gpu0
+ - /temperature/gpu1
+ - /temperature/gpu2
+ - /temperature/gpu3
+ - /temperature/gpu4
+ - /temperature/gpu5
+ - /temperature/gpu6
+ - /temperature/gpu7
+matches:
+ - name: propertiesChanged
+ parameters:
+ - object
+ - interface
+ - name: interfacesAdded
+ parameters:
+ - object
+ - name: interfacesRemoved
+ 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: interfacesRemoved
+ description: >
+ An interfaces removed match
+ parameters:
+ - object
+ - interface
+ match: interfacesRemoved
+ - 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
+ - name: removeInterface
+ description: >
+ Removes an interface(and all associated properties) on the
+ given object from use within all event actions
+ parameters:
+ - object
+ - interface
+
+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
+ - name: use_alternate_events_on_state
+ description: >
+ Replaces a set of default events with an alternate set of events
+ when all the group properties are at a given state
+ parameters:
+ - property
+ - defevents
+ - altevents
+
+events:
+ - name: missing_or_fails_before_high_speed_air
+ groups:
+ - name: air_cooled_zone0_fans
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Inventory.Item
+ property:
+ name: Present
+ type: bool
+ - name: air_cooled_zone0_fans
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ 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_control_mode
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Control.ThermalMode
+ property:
+ name: Current
+ type: std::string
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: use_alternate_events_on_state
+ property:
+ value: CUSTOM
+ type: std::string
+ defevents:
+ - name: default_floor_boundary
+ groups:
+ - name: zone0_ambient
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ 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:
+ - 25000: 85
+ - 26000: 85
+ - 28000: 97
+ - 31000: 116
+ - 33000: 128
+ - 36000: 148
+ - 38000: 160
+ - 41000: 255
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 255
+ - 27000: 255
+ type: std::map<int64_t, uint64_t>
+ altevents:
+ - name: alternate_floor_boundary
+ groups:
+ - name: zone0_ambient
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ 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:
+ - 25000: 255
+ - 26000: 255
+ - 28000: 255
+ - 31000: 255
+ - 33000: 255
+ - 36000: 255
+ - 38000: 255
+ - 41000: 255
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 255
+ - 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_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - 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
+ - name: zone0_gpu
+ 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: signal
+ signal: interfacesRemoved
+ handler: removeInterface
+ - name: fails_before_high_speed_air
+ groups:
+ - name: zone0_cores
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ - name: zone0_dimms
+ interface: xyz.openbmc_project.State.Decorator.OperationalStatus
+ property:
+ name: Functional
+ type: bool
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: interfacesAdded
+ 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: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
+ actions:
+ # Speed changes based on onboard temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 50000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 8
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 47000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ type: uint64_t
+ # Speed changes based on vrd temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 90000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 5
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 85000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ type: uint64_t
+ # Speed changes based on core temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 75000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 13
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_cores
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 70000
+ type: int64_t
+ factor:
+ value: 7000
+ type: int64_t
+ delta:
+ value: 5
+ 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: 80000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 8
+ 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: 75000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ type: uint64_t
+ # Speed changes based on gpu temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_gpu
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 70
+ type: int64_t
+ factor:
+ value: 1
+ type: int64_t
+ delta:
+ value: 13
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_gpu
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 67
+ type: int64_t
+ factor:
+ value: 4
+ type: int64_t
+ delta:
+ value: 5
+ type: uint64_t