From e539e9f2a54342c53a62d0367ef187f2bef282b8 Mon Sep 17 00:00:00 2001 From: Matthew Barth Date: Fri, 20 Sep 2019 09:49:29 -0500 Subject: 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 Signed-off-by: Brad Bishop --- .../witherspoon/events.yaml | 415 +++++++++++---------- 1 file 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 - - name: set_ceiling_from_average_sensor_value - map: - value: - - 25000: 7200 - - 27000: 10500 - type: std::map - 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 - - name: set_ceiling_from_average_sensor_value - map: - value: - - 25000: 7200 - - 27000: 10500 - type: std::map - - 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 - - name: set_ceiling_from_average_sensor_value - map: - value: - - 25000: 7200 - - 27000: 10500 - type: std::map + - 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 + - name: set_ceiling_from_average_sensor_value + map: + value: + - 25000: 7200 + - 27000: 10500 + type: std::map + 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 + - name: set_ceiling_from_average_sensor_value + map: + value: + - 25000: 7200 + - 27000: 10500 + type: std::map + - 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 + - name: set_ceiling_from_average_sensor_value + map: + value: + - 25000: 7200 + - 27000: 10500 + type: std::map - name: occ_active_speed_changes precondition: name: property_states_match -- cgit v1.2.3