| groups: |
| - 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 |
| - name: water_and_air_cooled_zone0_fans |
| description: Group of fan inventory objects for water/air cooled zone 0 |
| type: /xyz/openbmc_project/inventory |
| members: |
| - /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: /xyz/openbmc_project/sensors |
| members: |
| - /temperature/ambient |
| - name: zone0_fan_tachs |
| description: Group of fan tach feedback speed inputs for zone 0 |
| type: /xyz/openbmc_project/sensors |
| members: |
| - /fan_tach/fan0_0 |
| - /fan_tach/fan0_1 |
| - /fan_tach/fan1_0 |
| - /fan_tach/fan1_1 |
| - /fan_tach/fan2_0 |
| - /fan_tach/fan2_1 |
| - /fan_tach/fan3_0 |
| - /fan_tach/fan3_1 |
| - 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_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 |
| - /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 |
| - name: zone0_gpu_cores |
| description: Group of gpu core temperature sensors for zone 0 |
| type: /xyz/openbmc_project/sensors |
| members: |
| - /temperature/gpu0_core_temp |
| - /temperature/gpu1_core_temp |
| - /temperature/gpu2_core_temp |
| - /temperature/gpu3_core_temp |
| - /temperature/gpu4_core_temp |
| - /temperature/gpu5_core_temp |
| - name: zone0_gpu_memory |
| description: Group of gpu memory temperature sensors for zone 0 |
| type: /xyz/openbmc_project/sensors |
| members: |
| - /temperature/gpu0_mem_temp |
| - /temperature/gpu1_mem_temp |
| - /temperature/gpu2_mem_temp |
| - /temperature/gpu3_mem_temp |
| - /temperature/gpu4_mem_temp |
| - /temperature/gpu5_mem_temp |
| - name: zone0_pcie |
| description: Group of pcie temperature sensors for zone 0 |
| type: /xyz/openbmc_project/sensors |
| members: |
| - /temperature/pcie |
| |
| 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: 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 |
| |
| events: |
| - name: missing_before_high_speed_air |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| group: air_cooled_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: fails_before_high_speed_air |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| group: air_cooled_zone0_fans |
| interface: xyz.openbmc_project.State.Decorator.OperationalStatus |
| property: |
| name: Functional |
| type: bool |
| actions: |
| - name: count_state_before_speed |
| count: 1 |
| property: false |
| speed: |
| value: 10500 |
| type: uint64_t |
| - name: missing_before_high_speed_water_and_air |
| zone_conditions: |
| - name: water_and_air_cooled_chassis |
| zones: |
| - 0 |
| group: water_and_air_cooled_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: fails_before_high_speed_water_and_air |
| zone_conditions: |
| - name: water_and_air_cooled_chassis |
| zones: |
| - 0 |
| group: water_and_air_cooled_zone0_fans |
| interface: xyz.openbmc_project.State.Decorator.OperationalStatus |
| property: |
| name: Functional |
| 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: 7200 |
| - 32000: 7200 |
| - 37000: 7200 |
| - 40000: 7200 |
| 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: set_base_request_speed_to_max_tach_feedback |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| - name: water_and_air_cooled_chassis |
| zones: |
| - 0 |
| group: zone0_fan_tachs |
| interface: xyz.openbmc_project.Sensor.Value |
| property: |
| name: Value |
| type: int64_t |
| actions: |
| - name: set_request_speed_base_with_max |
| - 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: speed_changes_based_on_pcie_temps |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| - name: water_and_air_cooled_chassis |
| zones: |
| - 0 |
| group: zone0_pcie |
| interface: xyz.openbmc_project.Sensor.Value |
| property: |
| name: Value |
| type: int64_t |
| actions: |
| - name: set_net_increase_speed |
| property: 55000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 400 |
| type: uint64_t |
| - name: set_net_decrease_speed |
| property: 52000 |
| 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_core_temps |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| group: zone0_cores |
| interface: xyz.openbmc_project.Sensor.Value |
| property: |
| name: Value |
| type: int64_t |
| actions: |
| - name: set_net_increase_speed |
| property: 73000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 400 |
| type: uint64_t |
| - name: set_net_decrease_speed |
| property: 70000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 40 |
| type: uint64_t |
| timer: |
| interval: 5 |
| - 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 |
| - name: speed_changes_based_on_gpu_core_temps |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| group: zone0_gpu_cores |
| interface: xyz.openbmc_project.Sensor.Value |
| property: |
| name: Value |
| type: int64_t |
| actions: |
| - name: set_net_increase_speed |
| property: 78000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 600 |
| type: uint64_t |
| - name: set_net_decrease_speed |
| property: 75000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 40 |
| type: uint64_t |
| timer: |
| interval: 5 |
| - name: speed_changes_based_on_gpu_memory_temps |
| zone_conditions: |
| - name: air_cooled_chassis |
| zones: |
| - 0 |
| group: zone0_gpu_memory |
| interface: xyz.openbmc_project.Sensor.Value |
| property: |
| name: Value |
| type: int64_t |
| actions: |
| - name: set_net_increase_speed |
| property: 80000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 600 |
| type: uint64_t |
| - name: set_net_decrease_speed |
| property: 77000 |
| factor: |
| value: 1000 |
| type: int64_t |
| delta: |
| value: 40 |
| type: uint64_t |
| timer: |
| interval: 5 |