diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2019-09-20 17:49:29 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-02 22:17:25 +0300 |
commit | e539e9f2a54342c53a62d0367ef187f2bef282b8 (patch) | |
tree | 898d09a28f92cc5d1dde9fccd90773140c35ca1d | |
parent | b1b282084f52fba51167aed0da39388242cdd3d5 (diff) | |
download | openbmc-e539e9f2a54342c53a62d0367ef187f2bef282b8.tar.xz |
wspoon: Activate fan control events at poweron
Utilize the pgood property as a precondition to loading fan control
events based on property states other than the OCC active events. Since
the OCCs are not active when powered off (pgood = 0) those events having
OCCs active as a precondition are not necessary to be added.
This is the first step to enabling fan control to run at BMC standby.
When the default phosphor-fan-control@.service starts after power on,
the pgood property value is already set to 1. Therefore this produces no
change in fan control activity.
Tested:
No change in fan speed control
(From meta-ibm rev: dadf39cdbb093e0c2566189f3e876dd3c01e13d0)
Change-Id: Ieb010804d59ed318463fca1fcbdce5b5123b81df
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
-rw-r--r-- | meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml | 415 |
1 files changed, 219 insertions, 196 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml index 74a34e081..5534cb6cd 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml @@ -1,4 +1,9 @@ groups: + - name: poweron_pgood + description: System poweron pgood state + type: /org/openbmc/control + members: + - /power0 - name: zone0_control_mode description: Thermal control mode for zone 0 service: xyz.openbmc_project.Control.Thermal @@ -353,202 +358,220 @@ events: speed: value: 10500 type: uint64_t - - 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: 10500 - type: uint64_t - - name: missing_or_fails_before_high_speed_water_and_air - groups: - - name: water_and_air_cooled_zone0_fans - zone_conditions: - - name: water_and_air_cooled_chassis - zones: - - 0 - interface: xyz.openbmc_project.Inventory.Item - property: - name: Present - type: bool - - name: water_and_air_cooled_zone0_fans - zone_conditions: - - name: water_and_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: 10500 - 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: - - 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> - 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: - - 27000: 4600 - - 32000: 5000 - - 37000: 5400 - - 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 - groups: - - name: zone0_ambient - zone_conditions: - - name: water_and_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: - - 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: full_speed_at_power_on + precondition: + name: property_states_match + groups: + - name: poweron_pgood + interface: org.openbmc.control.Power + property: + name: pgood + type: int32_t + value: 1 + triggers: + - name: init + method: getProperties + handler: setProperty + - name: signal + signal: propertiesChanged + handler: setProperty + 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: 10500 + type: uint64_t + - name: missing_or_fails_before_high_speed_water_and_air + groups: + - name: water_and_air_cooled_zone0_fans + zone_conditions: + - name: water_and_air_cooled_chassis + zones: + - 0 + interface: xyz.openbmc_project.Inventory.Item + property: + name: Present + type: bool + - name: water_and_air_cooled_zone0_fans + zone_conditions: + - name: water_and_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: 10500 + 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: + - 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> + 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: + - 27000: 4600 + - 32000: 5000 + - 37000: 5400 + - 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 + groups: + - name: zone0_ambient + zone_conditions: + - name: water_and_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: + - 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: occ_active_speed_changes precondition: name: property_states_match |