Add witherspoon fan floor and ceiling events
Initial Witherspoon thermal specs for setting the fan floor and fan
ceiling speeds based on ambient sensor values.
Change-Id: Icb51ec243ff837450d48941b888b40334feb41ff
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml b/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
index 0e041ad..c988723 100644
--- a/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
+++ b/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/events.yaml
@@ -14,6 +14,11 @@
- /system/chassis/motherboard/fan0
- /system/chassis/motherboard/fan2
- /system/chassis/motherboard/fan3
+ - name: zone0_ambient
+ description: Group of ambient temperature sensors for zone 0
+ type: sensors
+ members:
+ - /temperature/ambient
actions:
- name: count_state_before_speed
@@ -22,6 +27,14 @@
- 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
events:
- name: missing_before_high_speed_air
@@ -92,4 +105,61 @@
speed:
value: 10500
type: uint64_t
-
+ - name: update_air_cooled_floor_speed_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
+ action:
+ 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: update_water_cooled_floor_speed_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
+ action:
+ 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: update_ceiling_speed_based_on_ambient
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ group: zone0_ambient
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ action:
+ name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>