blob: 5f6a094bac138111d2b5d3d3571f4e1cb403b1f9 [file] [log] [blame]
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
- 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: 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
matches:
- name: propertiesChanged
description: >
A property changed match
parameters:
- object
- interface
signal: propertySignal
- name: interfacesAdded
description: >
An interfaces added match
parameters:
- object
signal: objectSignal
- name: interfacesRemoved
description: >
An interfaces removed match
parameters:
- object
signal:
name: objectSignal
parameters:
- object
- interface
handler: removeInterface
- name: nameOwnerChanged
description: >
A name owner changed match
parameters:
- object
- interface
signal: ownerSignal
signals:
- name: propertySignal
description: >
Handle property signals
parameters:
- type
- object
- interface
- property
handler: setProperty
- name: objectSignal
description: >
Handle object signals
parameters:
- type
- object
- interface
- property
handler: setProperty
- name: ownerSignal
description: >
Handle owner signals
parameters:
- object
- interface
handler: setService
handlers:
- name: setProperty
description: >
Sets a value for the given object/interface/property
parameters:
- type
- object
- interface
- property
- name: setService
description: >
Sets the service name(s) for the given group
parameters:
- group
- name: removeInterface
description: >
Removes an interface(and all associated properties) on the
given object from use within 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
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: default_fan_floor_on_service_fail
# No global zone conditions defined == all unless defined on group
groups:
- name: zone0_ambient
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: nameOwnerChanged
actions:
- name: call_actions_based_on_timer
timer:
delay: 5
type: oneshot
actions:
- name: default_floor_on_missing_owner
- name: high_speed_on_occ0_service_fail
# No global zone conditions defined == all unless defined on group
groups:
- name: occ0_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
matches:
- name: nameOwnerChanged
actions:
- name: call_actions_based_on_timer
timer:
delay: 5
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 10500
type: uint64_t
- name: high_speed_on_occ1_service_fail
# No global zone conditions defined == all unless defined on group
groups:
- name: occ1_object
interface: org.open_power.OCC.Status
property:
name: OccActive
type: bool
matches:
- name: nameOwnerChanged
actions:
- name: call_actions_based_on_timer
timer:
delay: 5
type: oneshot
actions:
- name: set_speed_on_missing_owner
speed:
value: 10500
type: uint64_t
- name: missing_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
matches:
- name: propertiesChanged
actions:
- name: count_state_before_speed
count: 1
property:
value: false
type: bool
speed:
value: 10500
type: uint64_t
- name: fails_before_high_speed_air
groups:
- 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
matches:
- name: interfacesAdded
- name: propertiesChanged
actions:
- name: count_state_before_speed
count: 1
property:
value: false
type: bool
speed:
value: 10500
type: uint64_t
- name: missing_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
matches:
- name: propertiesChanged
actions:
- name: count_state_before_speed
count: 1
property:
value: false
type: bool
speed:
value: 10500
type: uint64_t
- name: 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.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
matches:
- name: interfacesAdded
- name: propertiesChanged
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
matches:
- name: propertiesChanged
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
matches:
- name: propertiesChanged
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
matches:
- name: propertiesChanged
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
matches:
- name: propertiesChanged
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: speed_changes_based_on_regulator_temps
# No global zone conditions defined == all unless defined on group
groups:
- name: zone0_regulators
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
actions:
- name: set_net_increase_speed
property:
value: 85000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 400
type: uint64_t
- name: set_net_decrease_speed
property:
value: 82000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 40
type: uint64_t
timer:
interval: 5
- name: speed_changes_based_on_pcie_temps
# No global zone conditions defined == all unless defined on group
groups:
- name: zone0_pcie
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
actions:
- name: set_net_increase_speed
property:
value: 55000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 400
type: uint64_t
- name: set_net_decrease_speed
property:
value: 52000
type: int64_t
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
matches:
- name: interfacesAdded
- name: propertiesChanged
events:
- name: fails_before_high_speed_air
groups:
- name: zone0_cores
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
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
- name: zone0_gpu_cores
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
- name: zone0_gpu_memory
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
interface: xyz.openbmc_project.State.Decorator.OperationalStatus
property:
name: Functional
type: bool
matches:
- name: interfacesAdded
- name: propertiesChanged
actions:
- name: count_state_before_speed
count: 1
property:
value: false
type: bool
speed:
value: 10500
type: uint64_t
- name: speed_changes_based_on_core_temps
groups:
- name: zone0_cores
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
- name: interfacesRemoved
actions:
- name: set_net_increase_speed
property:
value: 73000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 400
type: uint64_t
- name: set_net_decrease_speed
property:
value: 70000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 40
type: uint64_t
timer:
interval: 5
- name: speed_changes_based_on_dimm_temps
# No global zone conditions defined == all unless defined on group
groups:
- name: zone0_dimms
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
- name: interfacesRemoved
actions:
- name: set_net_increase_speed
property:
value: 64000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 200
type: uint64_t
- name: set_net_decrease_speed
property:
value: 61000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 40
type: uint64_t
timer:
interval: 5
- name: speed_changes_based_on_gpu_core_temps
groups:
- name: zone0_gpu_cores
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
- name: interfacesRemoved
actions:
- name: set_net_increase_speed
property:
value: 78000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 600
type: uint64_t
- name: set_net_decrease_speed
property:
value: 75000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 40
type: uint64_t
timer:
interval: 5
- name: speed_changes_based_on_gpu_memory_temps
groups:
- name: zone0_gpu_memory
zone_conditions:
- name: air_cooled_chassis
zones:
- 0
interface: xyz.openbmc_project.Sensor.Value
property:
name: Value
type: int64_t
matches:
- name: interfacesAdded
- name: propertiesChanged
- name: interfacesRemoved
actions:
- name: set_net_increase_speed
property:
value: 80000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 600
type: uint64_t
- name: set_net_decrease_speed
property:
value: 77000
type: int64_t
factor:
value: 1000
type: int64_t
delta:
value: 40
type: uint64_t
timer:
interval: 5