From 79b6cb1267b0c4637c2385790e52025de48e04fa Mon Sep 17 00:00:00 2001 From: Matthew Barth Date: Fri, 12 Apr 2019 13:20:39 -0500 Subject: wspoon: Use machine in file path append for fans In preparation for additional systems under the witherspoon layer, add the machine name as a prefix to the phosphor-fan* configuration directories. This allows additional machines' phosphor-fan* configurations to be placed in this layer. Tested: Witherspoon phosphor-fan image still contains applications & phosphor-fan applications are correctly configured. (From meta-ibm rev: a63359eebc376e3340bdbc34fc4c83410172a5ae) Change-Id: I9d711cb68e4563e5a2c6dc88d12d2071364bf8ae Signed-off-by: Matthew Barth Signed-off-by: Brad Bishop --- ...sphor-fan-control-events-config-native.bbappend | 2 +- .../events.yaml | 828 --------------------- ...phosphor-fan-control-fan-config-native.bbappend | 2 +- .../fans.yaml | 21 - ...-control-zone-conditions-config-native.bbappend | 2 +- .../zone_conditions.yaml | 18 - ...hosphor-fan-control-zone-config-native.bbappend | 3 +- .../zones.yaml | 73 -- .../phosphor-fan-monitor-config-native.bbappend | 2 +- .../monitor.yaml | 73 -- .../phosphor-fan-presence-config-native.bbappend | 2 +- .../config.yaml | 55 -- .../obmc/phosphor-fan/phosphor-cooling-type-0.conf | 6 - .../phosphor-fan/phosphor-cooling-type@.service | 15 - .../recipes-phosphor/fans/phosphor-fan_%.bbappend | 2 + .../events.yaml | 828 +++++++++++++++++++++ .../fans.yaml | 21 + .../zone_conditions.yaml | 18 + .../zones.yaml | 73 ++ .../monitor.yaml | 73 ++ .../config.yaml | 55 ++ .../obmc/phosphor-fan/phosphor-cooling-type-0.conf | 6 + .../phosphor-cooling-type@.service | 15 + 23 files changed, 1097 insertions(+), 1096 deletions(-) delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml delete mode 100755 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native/fans.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native/config.yaml delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf delete mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-events-config-native/events.yaml create mode 100755 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-fan-config-native/fans.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-config-native/zones.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-monitor-config-native/monitor.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-presence-config-native/config.yaml create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf create mode 100644 meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/phosphor-cooling-type@.service (limited to 'meta-ibm/meta-witherspoon') diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend index 72d991c7e..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml deleted file mode 100644 index 5f6a094ba..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml +++ /dev/null @@ -1,828 +0,0 @@ -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 - - 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 - matches: - - name: propertiesChanged - 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 - matches: - - name: propertiesChanged - 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: 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 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bbappend index 72d991c7e..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native/fans.yaml deleted file mode 100755 index a70ac85a3..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config-native/fans.yaml +++ /dev/null @@ -1,21 +0,0 @@ -fans: - - inventory: /system/chassis/motherboard/fan2 - cooling_zone: 0 - cooling_profile: all - sensors: - - fan2_0 - - inventory: /system/chassis/motherboard/fan0 - cooling_zone: 0 - cooling_profile: all - sensors: - - fan0_0 - - inventory: /system/chassis/motherboard/fan1 - cooling_zone: 0 - cooling_profile: air - sensors: - - fan1_0 - - inventory: /system/chassis/motherboard/fan3 - cooling_zone: 0 - cooling_profile: all - sensors: - - fan3_0 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend index 72d991c7e..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml deleted file mode 100644 index 0c8b3c5ff..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml +++ /dev/null @@ -1,18 +0,0 @@ -conditions: - - name: air_cooled_chassis - type: getProperty - properties: - - property: WaterCooled - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - path: /xyz/openbmc_project/inventory/system/chassis - type: bool - value: false - - - name: water_and_air_cooled_chassis - type: getProperty - properties: - - property: WaterCooled - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - path: /xyz/openbmc_project/inventory/system/chassis - type: bool - value: true diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend index 6d4804d12..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend @@ -1,2 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml deleted file mode 100644 index d31b30445..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml +++ /dev/null @@ -1,73 +0,0 @@ -manager_configuration: - power_on_delay: 20 - -zone_configuration: - -#Air cooled zones -- zone_conditions: - - name: air_cooled_chassis - - zones: - - zone: 0 - cooling_profiles: - - air - - all - full_speed: 10500 - default_floor: 8000 - increase_delay: 5 - decrease_interval: 30 - interfaces: - - name: xyz.openbmc_project.Control.ThermalMode - properties: - - name: Supported - type: array[string] - values: - - value: DEFAULT - description: > - Default thermal control mode - - value: CUSTOM - description: > - Custom thermal control mode for handling the use of - optical cables located behind the GPU exhaust that - could produce overtemp warnings without this mode - enabled. - - name: Current - type: string - persist: true - values: - - value: DEFAULT - description: > - Set current thermal control mode to the - default which will be replaced on startup if - another selected mode was persisted. - -#Water cooled zones -- zone_conditions: - - name: water_and_air_cooled_chassis - - zones: - - zone: 0 - cooling_profiles: - - water - - all - full_speed: 10500 - default_floor: 8000 - increase_delay: 5 - decrease_interval: 30 - interfaces: - - name: xyz.openbmc_project.Control.ThermalMode - properties: - - name: Supported - type: array[string] - values: - - value: DEFAULT - description: > - Default thermal control mode - - name: Current - type: string - persist: true - values: - - value: DEFAULT - description: > - Set current thermal control mode to the - default. No other modes are supported. diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend index 72d991c7e..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml deleted file mode 100644 index 5db7966fa..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml +++ /dev/null @@ -1,73 +0,0 @@ -fans: - - inventory: /system/chassis/motherboard/fan0 - functional_delay: 5 - allowed_out_of_range_time: 30 - deviation: 15 - num_sensors_nonfunc_for_fan_nonfunc: 1 - sensors: - - name: fan0_0 - has_target: true - - name: fan0_1 - has_target: false - - - inventory: /system/chassis/motherboard/fan1 - functional_delay: 5 - allowed_out_of_range_time: 30 - deviation: 15 - num_sensors_nonfunc_for_fan_nonfunc: 1 - sensors: - - name: fan1_0 - has_target: true - - name: fan1_1 - has_target: false - # Create fan1 inventory & sensors on air cooled only - condition: - name: propertiesMatch - properties: - - object: /xyz/openbmc_project/inventory/system/chassis - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - property: - name: WaterCooled - type: bool - value: false - - - inventory: /system/chassis/motherboard/fan2 - functional_delay: 5 - allowed_out_of_range_time: 30 - deviation: 15 - num_sensors_nonfunc_for_fan_nonfunc: 1 - sensors: - - name: fan2_0 - has_target: true - - name: fan2_1 - has_target: false - - - inventory: /system/chassis/motherboard/fan3 - functional_delay: 5 - allowed_out_of_range_time: 30 - deviation: 15 - num_sensors_nonfunc_for_fan_nonfunc: 1 - sensors: - - name: fan3_0 - has_target: true - - name: fan3_1 - has_target: false - -sensor_trust_groups: - - class: NonzeroSpeed - group: - # Include all _1 fans to determine trust - - name: fan0_1 - - name: fan1_1 - - name: fan2_1 - - name: fan3_1 - # Add all _0 fans to be included in trust result effects, - # but not in determining trust - - name: fan0_0 - in_trust: false - - name: fan1_0 - in_trust: false - - name: fan2_0 - in_trust: false - - name: fan3_0 - in_trust: false diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native.bbappend index 72d991c7e..fae8d4c5d 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native/config.yaml deleted file mode 100644 index 1c26fc21f..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native/config.yaml +++ /dev/null @@ -1,55 +0,0 @@ -- name: fan0 - path: /system/chassis/motherboard/fan0 - methods: - - type: gpio - key: 4 - physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 - devpath: /dev/input/by-path/platform-gpio-keys-polled-event - - type: tach - sensors: - - fan0_0 - - fan0_1 - rpolicy: - type: anyof - -- name: fan1 - path: /system/chassis/motherboard/fan1 - methods: - - type: gpio - key: 5 - physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 - devpath: /dev/input/by-path/platform-gpio-keys-polled-event - - type: tach - sensors: - - fan1_0 - - fan1_1 - rpolicy: - type: anyof - -- name: fan2 - path: /system/chassis/motherboard/fan2 - methods: - - type: gpio - key: 6 - physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 - devpath: /dev/input/by-path/platform-gpio-keys-polled-event - - type: tach - sensors: - - fan2_0 - - fan2_1 - rpolicy: - type: anyof - -- name: fan3 - path: /system/chassis/motherboard/fan3 - methods: - - type: gpio - key: 7 - physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 - devpath: /dev/input/by-path/platform-gpio-keys-polled-event - - type: tach - sensors: - - fan3_0 - - fan3_1 - rpolicy: - type: anyof diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf deleted file mode 100644 index e5e8f435e..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf +++ /dev/null @@ -1,6 +0,0 @@ -OBJPATH="--path=/system/chassis" -AIR="--air" -WATER="" -DEVICE="--dev=/dev/input/by-path/platform-gpio-keys-event" -CODE="--event=13" - diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service deleted file mode 100644 index c1f5ae293..000000000 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Phosphor Cooling Type -Wants=mapper-wait@-xyz-openbmc_project-inventory.service -After=mapper-wait@-xyz-openbmc_project-inventory.service -ConditionPathExists={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf - -[Service] -Type=oneshot -RemainAfterExit=yes -EnvironmentFile={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf -ExecStart=/usr/bin/env phosphor-cooling-type ${{OBJPATH}} ${{AIR}} ${{WATER}} ${{DEVICE}} ${{CODE}} -SyslogIdentifier=phosphor-cooling-type - -[Install] -RequiredBy=multi-user.target diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend index f2878fb77..e28bcb1d0 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend @@ -1,4 +1,6 @@ FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" +# Machine specific files override shared files with the same name +FILESEXTRAPATHS_prepend := "${THISDIR}/${MACHINE}-${PN}:" # Package configuration FAN_PACKAGES += " \ diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-events-config-native/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-events-config-native/events.yaml new file mode 100644 index 000000000..5f6a094ba --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-events-config-native/events.yaml @@ -0,0 +1,828 @@ +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 + - 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 + matches: + - name: propertiesChanged + 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 + matches: + - name: propertiesChanged + 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: 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 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-fan-config-native/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-fan-config-native/fans.yaml new file mode 100755 index 000000000..a70ac85a3 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-fan-config-native/fans.yaml @@ -0,0 +1,21 @@ +fans: + - inventory: /system/chassis/motherboard/fan2 + cooling_zone: 0 + cooling_profile: all + sensors: + - fan2_0 + - inventory: /system/chassis/motherboard/fan0 + cooling_zone: 0 + cooling_profile: all + sensors: + - fan0_0 + - inventory: /system/chassis/motherboard/fan1 + cooling_zone: 0 + cooling_profile: air + sensors: + - fan1_0 + - inventory: /system/chassis/motherboard/fan3 + cooling_zone: 0 + cooling_profile: all + sensors: + - fan3_0 diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml new file mode 100644 index 000000000..0c8b3c5ff --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml @@ -0,0 +1,18 @@ +conditions: + - name: air_cooled_chassis + type: getProperty + properties: + - property: WaterCooled + interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + path: /xyz/openbmc_project/inventory/system/chassis + type: bool + value: false + + - name: water_and_air_cooled_chassis + type: getProperty + properties: + - property: WaterCooled + interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + path: /xyz/openbmc_project/inventory/system/chassis + type: bool + value: true diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-config-native/zones.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-config-native/zones.yaml new file mode 100644 index 000000000..d31b30445 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-control-zone-config-native/zones.yaml @@ -0,0 +1,73 @@ +manager_configuration: + power_on_delay: 20 + +zone_configuration: + +#Air cooled zones +- zone_conditions: + - name: air_cooled_chassis + + zones: + - zone: 0 + cooling_profiles: + - air + - all + full_speed: 10500 + default_floor: 8000 + increase_delay: 5 + decrease_interval: 30 + interfaces: + - name: xyz.openbmc_project.Control.ThermalMode + properties: + - name: Supported + type: array[string] + values: + - value: DEFAULT + description: > + Default thermal control mode + - value: CUSTOM + description: > + Custom thermal control mode for handling the use of + optical cables located behind the GPU exhaust that + could produce overtemp warnings without this mode + enabled. + - name: Current + type: string + persist: true + values: + - value: DEFAULT + description: > + Set current thermal control mode to the + default which will be replaced on startup if + another selected mode was persisted. + +#Water cooled zones +- zone_conditions: + - name: water_and_air_cooled_chassis + + zones: + - zone: 0 + cooling_profiles: + - water + - all + full_speed: 10500 + default_floor: 8000 + increase_delay: 5 + decrease_interval: 30 + interfaces: + - name: xyz.openbmc_project.Control.ThermalMode + properties: + - name: Supported + type: array[string] + values: + - value: DEFAULT + description: > + Default thermal control mode + - name: Current + type: string + persist: true + values: + - value: DEFAULT + description: > + Set current thermal control mode to the + default. No other modes are supported. diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-monitor-config-native/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-monitor-config-native/monitor.yaml new file mode 100644 index 000000000..5db7966fa --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-monitor-config-native/monitor.yaml @@ -0,0 +1,73 @@ +fans: + - inventory: /system/chassis/motherboard/fan0 + functional_delay: 5 + allowed_out_of_range_time: 30 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan0_0 + has_target: true + - name: fan0_1 + has_target: false + + - inventory: /system/chassis/motherboard/fan1 + functional_delay: 5 + allowed_out_of_range_time: 30 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan1_0 + has_target: true + - name: fan1_1 + has_target: false + # Create fan1 inventory & sensors on air cooled only + condition: + name: propertiesMatch + properties: + - object: /xyz/openbmc_project/inventory/system/chassis + interface: xyz.openbmc_project.Inventory.Decorator.CoolingType + property: + name: WaterCooled + type: bool + value: false + + - inventory: /system/chassis/motherboard/fan2 + functional_delay: 5 + allowed_out_of_range_time: 30 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan2_0 + has_target: true + - name: fan2_1 + has_target: false + + - inventory: /system/chassis/motherboard/fan3 + functional_delay: 5 + allowed_out_of_range_time: 30 + deviation: 15 + num_sensors_nonfunc_for_fan_nonfunc: 1 + sensors: + - name: fan3_0 + has_target: true + - name: fan3_1 + has_target: false + +sensor_trust_groups: + - class: NonzeroSpeed + group: + # Include all _1 fans to determine trust + - name: fan0_1 + - name: fan1_1 + - name: fan2_1 + - name: fan3_1 + # Add all _0 fans to be included in trust result effects, + # but not in determining trust + - name: fan0_0 + in_trust: false + - name: fan1_0 + in_trust: false + - name: fan2_0 + in_trust: false + - name: fan3_0 + in_trust: false diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-presence-config-native/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-presence-config-native/config.yaml new file mode 100644 index 000000000..1c26fc21f --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan-presence-config-native/config.yaml @@ -0,0 +1,55 @@ +- name: fan0 + path: /system/chassis/motherboard/fan0 + methods: + - type: gpio + key: 4 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + - type: tach + sensors: + - fan0_0 + - fan0_1 + rpolicy: + type: anyof + +- name: fan1 + path: /system/chassis/motherboard/fan1 + methods: + - type: gpio + key: 5 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + - type: tach + sensors: + - fan1_0 + - fan1_1 + rpolicy: + type: anyof + +- name: fan2 + path: /system/chassis/motherboard/fan2 + methods: + - type: gpio + key: 6 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + - type: tach + sensors: + - fan2_0 + - fan2_1 + rpolicy: + type: anyof + +- name: fan3 + path: /system/chassis/motherboard/fan3 + methods: + - type: gpio + key: 7 + physpath: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0060 + devpath: /dev/input/by-path/platform-gpio-keys-polled-event + - type: tach + sensors: + - fan3_0 + - fan3_1 + rpolicy: + type: anyof diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf new file mode 100644 index 000000000..e5e8f435e --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf @@ -0,0 +1,6 @@ +OBJPATH="--path=/system/chassis" +AIR="--air" +WATER="" +DEVICE="--dev=/dev/input/by-path/platform-gpio-keys-event" +CODE="--event=13" + diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/phosphor-cooling-type@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/phosphor-cooling-type@.service new file mode 100644 index 000000000..c1f5ae293 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-phosphor-fan/phosphor-cooling-type@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Phosphor Cooling Type +Wants=mapper-wait@-xyz-openbmc_project-inventory.service +After=mapper-wait@-xyz-openbmc_project-inventory.service +ConditionPathExists={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile={envfiledir}/obmc/phosphor-fan/phosphor-cooling-type-%i.conf +ExecStart=/usr/bin/env phosphor-cooling-type ${{OBJPATH}} ${{AIR}} ${{WATER}} ${{DEVICE}} ${{CODE}} +SyslogIdentifier=phosphor-cooling-type + +[Install] +RequiredBy=multi-user.target -- cgit v1.2.3