diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-23 04:40:54 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 19:39:42 +0300 |
commit | 194ff4f1f5d44b12e9cb06ddafa6adb20174a13c (patch) | |
tree | 823835cd29daf8901a31ac14c7e6534abf199be3 /meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans | |
parent | 4feb727cd6b77a68bdaca63e121b378d814f5eaf (diff) | |
download | openbmc-194ff4f1f5d44b12e9cb06ddafa6adb20174a13c.tar.xz |
[Subtree] Bring openbmc machines to top level
The new subtree model brings the subtrees up from the openbmc-machines
layer.
Change-Id: I58a03ae1be374bc79ae1438e65e888375d12d0c0
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans')
29 files changed, 0 insertions, 2638 deletions
diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%.bbappend deleted file mode 100644 index 8cc310e7c..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%.bbappend +++ /dev/null @@ -1,33 +0,0 @@ -FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" - -# Package configuration -FAN_PACKAGES += " \ - phosphor-cooling-type \ -" - -PACKAGECONFIG += "cooling-type" - -RDEPENDS_phosphor-cooling-type += "libevdev" - -TMPL_COOLING = "phosphor-cooling-type@.service" -INSTFMT_COOLING = "phosphor-cooling-type@{0}.service" -COOLING_TGT = "${SYSTEMD_DEFAULT_TARGET}" -FMT_COOLING = "../${TMPL_COOLING}:${COOLING_TGT}.requires/${INSTFMT_COOLING}" - -FILES_phosphor-cooling-type = "${sbindir}/phosphor-cooling-type" -SYSTEMD_SERVICE_phosphor-cooling-type += "${TMPL_COOLING}" -SYSTEMD_LINK_phosphor-cooling-type += "${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}" - -COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf" - -SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type += "${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}" - -#These services are protected by the watchdog -SYSTEMD_OVERRIDE_phosphor-fan-control += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf" -SYSTEMD_OVERRIDE_phosphor-fan-control += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf" -SYSTEMD_OVERRIDE_phosphor-fan-monitor += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf" -SYSTEMD_OVERRIDE_phosphor-fan-monitor += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf" - -#These services need to be stopped when watchdog expires -SYSTEMD_OVERRIDE_phosphor-fan-control += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf" -SYSTEMD_OVERRIDE_phosphor-fan-monitor += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-conflicts.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-conflicts.conf deleted file mode 100644 index 90b1e810e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-conflicts.conf +++ /dev/null @@ -1,2 +0,0 @@ -[Unit] -Conflicts=obmc-fan-watchdog-takeover.target diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-monitor.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-monitor.conf deleted file mode 100644 index 023e61a64..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/fan-watchdog-monitor.conf +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -#These overrides allow the fan watchdog to take over when this service dies -OnFailure=witherspoon-fan-watchdog-monitor@%n.service -StartLimitIntervalSec=5 -StartLimitBurst=3 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-openbmc-machines/meta-openpower/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-openbmc-machines/meta-openpower/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-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/phosphor-cooling-type@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan%/phosphor-cooling-type@.service deleted file mode 100644 index 9086efb77..000000000 --- a/meta-openbmc-machines/meta-openpower/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={SYSTEMD_DEFAULT_TARGET} diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend deleted file mode 100644 index 72d991c7e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml deleted file mode 100644 index 106202344..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config-native/events.yaml +++ /dev/null @@ -1,766 +0,0 @@ -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: 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 - -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_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> - - 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 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%.bbappend deleted file mode 100644 index 72d991c7e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%/fans.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%/fans.yaml deleted file mode 100755 index a70ac85a3..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config%/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-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend deleted file mode 100644 index 72d991c7e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml b/meta-openbmc-machines/meta-openpower/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-openbmc-machines/meta-openpower/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-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend deleted file mode 100644 index 6d4804d12..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml deleted file mode 100644 index 29dd2c79e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config-native/zones.yaml +++ /dev/null @@ -1,32 +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 - -#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 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend deleted file mode 100644 index 72d991c7e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config-native/monitor.yaml deleted file mode 100644 index 5db7966fa..000000000 --- a/meta-openbmc-machines/meta-openpower/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-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native%.bbappend b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native%.bbappend deleted file mode 100644 index 72d991c7e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native%.bbappend +++ /dev/null @@ -1 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native%/config.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config-native%/config.yaml deleted file mode 100644 index c5be29c1e..000000000 --- a/meta-openbmc-machines/meta-openpower/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:i2c@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:i2c@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:i2c@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:i2c@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-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb deleted file mode 100644 index b7da45c01..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy-native.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "Fan policy for Witherspoon" -PR = "r1" - -inherit native -inherit obmc-phosphor-license -inherit phosphor-dbus-monitor - -SRC_URI += "file://air-cooled.yaml" -SRC_URI += "file://water-cooled.yaml" -SRC_URI += "file://fan-errors.yaml" - -do_install() { - install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-cooled.yaml - install -D ${WORKDIR}/water-cooled.yaml ${D}${config_dir}/water-cooled.yaml - install -D ${WORKDIR}/fan-errors.yaml ${D}${config_dir}/fan-errors.yaml -} diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml deleted file mode 100644 index d60aa9179..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/air-cooled.yaml +++ /dev/null @@ -1,328 +0,0 @@ -# Air cooled Witherspoon fan policy for PDM. -# -# An air cooled Witherspoon requires a minimum of three functional fans -# enclosures or six functional fan rotors across all enclosures. -# If the number of functional fan enclosures is below three, soft poweroff -# the system, whereas if the number of fan rotors drop below six, an -# immediate hard poweroff of the system occurs. - -- name: fan enclosures - description: > - 'An air cooled Witherspoon has four fan enclosures to monitor.' - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 - -- name: fan rotors - description: > - 'An air cooled Witherspoon has eight fan rotors to monitor.' - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_1 - -- name: chassis state - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSISSTATE - path: /xyz/openbmc_project/state/chassis0 - -- name: chassis - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSIS - path: /xyz/openbmc_project/inventory/system/chassis - -- name: fan present - description: > - 'Monitor the presence state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Item - meta: PRESENT - property: Present - -- name: fan functional - description: > - 'Monitor the functional state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.State.Decorator.OperationalStatus - meta: FUNCTIONAL - property: Functional - -- name: chassis powered - description: > - 'Monitor the chassis power state.' - class: group - group: property - type: string - members: - - interface: xyz.openbmc_project.State.Chassis - meta: CHASSIS_STATE - property: CurrentPowerState - -- name: chassis air cooled - description: > - 'Monitor the chassis cooling type.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - meta: COOLING_TYPE - property: WaterCooled - -- name: watch fan present - description: > - 'Trigger logic on fan enclosure presence state changes.' - class: watch - watch: property - paths: fan enclosures - properties: fan present - callback: check cooling type - -- name: watch fan functional - description: > - 'Trigger logic on fan enclosure functional state changes.' - class: watch - watch: property - paths: fan enclosures - properties: fan functional - callback: check cooling type - -- name: watch fan rotor functional - description: > - 'Trigger logic on fan rotor functional state changes.' - class: watch - watch: property - paths: fan rotors - properties: fan functional - callback: check cooling type - -- name: watch chassis state - description: > - 'Trigger logic on chassis power state changes.' - class: watch - watch: property - paths: chassis state - properties: chassis powered - callback: check cooling type - -- name: watch cooling type - description: > - 'Maintain a cache of the chassis cooling type.' - class: watch - watch: property - paths: chassis - properties: chassis air cooled - -- name: check cooling type - description: > - 'If this condition passes the chassis is air cooled.' - class: condition - condition: count - paths: chassis - properties: chassis air cooled - callback: check power - countop: '==' - countbound: 0 - op: '==' - bound: true - -- name: check power - description: > - 'If the chassis has power, check fans.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fans - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check fans - description: > - 'Verify there are at least three functional fan enclosures and at least - six functional fan rotors, power off if not.' - class: callback - callback: group - members: - - check group presence - - check group functional enclosures - - check group functional rotors - -- name: check group presence - description: > - 'If this condition passes more than one fan has been unplugged - for more than 25 seconds. Shut the system down. Count present - fans rather than non-present fans since the latter would pass - if the fan has not been created for some reason. - - For a more detailed definition of unplugged, consult the documentation - of xyz.openbmc_project.Inventory.Item and/or the documentation - of the fan inventory object implementation.' - class: condition - condition: count - paths: fan enclosures - properties: fan present - defer: 25000000us - callback: log and shutdown - countop: '<' - countbound: 3 - op: '==' - bound: true - -- name: check group functional enclosures - description: > - 'If this condition passes more than one fan enclosure in the group has been - marked as nonfunctional for five seconds. Shut the system down. - - For a more detailed definition of nonfunctional, consult the documentation - of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the - documentation of the fan inventory object implementation.' - class: condition - condition: count - paths: fan enclosures - properties: fan functional - defer: 5000000us - callback: log and shutdown - countop: '>' - countbound: 1 - op: '==' - bound: false - -- name: check group functional rotors - description: > - 'If this condition passes more than two fan rotors in the group have been - marked as nonfunctional for five seconds. Immediately power off. - - For a more detailed definition of nonfunctional, consult the documentation - of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the - documentation of the fan inventory object implementation.' - class: condition - condition: count - paths: fan rotors - properties: fan functional - defer: 5000000us - callback: log and poweroff - countop: '>' - countbound: 2 - op: '==' - bound: false - -- name: log and poweroff - description: > - 'Immediately poweroff, log an event in the journal, and create an - error log.' - class: callback - callback: group - members: - - hard poweroff - - log hard poweroff - - create shutdown error - -- name: log and shutdown - description: > - 'Shut the system down, log an event in the journal, and create an - error log.' - class: callback - callback: group - members: - - shutdown - - log shutdown - - create shutdown error - -- name: hard poweroff - description: > - 'Immediately power off the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-chassis-hard-poweroff@0.target - type: string - - value: replace - type: string - -- name: shutdown - description: > - 'Shut down the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-host-shutdown@0.target - type: string - - value: replace - type: string - -- name: log hard poweroff - description: > - 'Log a hard poweroff event to the systemd journal.' - class: callback - callback: journal - paths: chassis state - properties: chassis powered - severity: ERR - message: Immediate poweroff of system. There are not enough functional fans. - -- name: log shutdown - description: > - 'Log a shutdown event to the systemd journal.' - class: callback - callback: journal - paths: chassis state - properties: chassis powered - severity: ERR - message: Request shutdown of system. There are not enough functional fans. - -- name: create shutdown error - description: > - 'Create a Fan Shutdown Error log.' - class: callback - callback: elog - paths: chassis state - properties: chassis powered - error: xyz::openbmc_project::State::Shutdown::Inventory::Error::Fan diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml deleted file mode 100644 index 0c14627d2..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/fan-errors.yaml +++ /dev/null @@ -1,676 +0,0 @@ -# Witherspoon fan error policy for PDM. -# -# * Create a NotPresent error if fan 0, 1, 2, or 3 is not present for more -# than 20 seconds. -# * Create a Nonfunctional error if fan 0, 1, 2, or 3 is not -# functional for any amount of time. -# -# The system must be powered on in both of these cases. -# If a water cooled system, don't create errors for fan 1. -# Note: An error is created each time the chassis powers on. -# -# * Watch for fans to become both present and functional, and then resolve -# their errors - -- name: fan0 - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - -- name: fan1 - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 - -- name: fan2 - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - -- name: fan3 - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 - -- name: chassis state - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSISSTATE - path: /xyz/openbmc_project/state/chassis0 - -- name: chassis - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSIS - path: /xyz/openbmc_project/inventory/system/chassis - - -- name: fan present - description: > - 'Monitor the presence state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Item - meta: PRESENT - property: Present - -- name: fan functional - description: > - 'Monitor the functional state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.State.Decorator.OperationalStatus - meta: FUNCTIONAL - property: Functional - -- name: fan present and functional - description: > - 'Monitor the present and functional state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Item - meta: PRESENT - property: Present - - interface: xyz.openbmc_project.State.Decorator.OperationalStatus - meta: FUNCTIONAL - property: Functional - -- name: chassis powered - description: > - 'Monitor the chassis power state.' - class: group - group: property - type: string - members: - - interface: xyz.openbmc_project.State.Chassis - meta: CHASSIS_STATE - property: CurrentPowerState - -- name: chassis air cooled - description: > - 'The chassis cooling type.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - meta: COOLING_TYPE - property: WaterCooled - -- name: watch chassis state - description: > - 'Trigger logic on chassis power state changes.' - class: watch - watch: property - paths: chassis state - properties: chassis powered - callback: check power - -- name: watch fan0 presence - description: > - 'Trigger logic on fan0 presence state changes.' - class: watch - watch: property - paths: fan0 - properties: fan present - callback: check power fan0 presence - -- name: watch fan0 functional - description: > - 'Trigger logic on fan0 functional state changes.' - class: watch - watch: property - paths: fan0 - properties: fan functional - callback: check power fan0 functional - -- name: watch fan1 presence - description: > - 'Trigger logic on fan1 presence state changes.' - class: watch - watch: property - paths: fan1 - properties: fan present - callback: check power fan1 presence - -- name: watch fan1 functional - description: > - 'Trigger logic on fan1 functional state changes.' - class: watch - watch: property - paths: fan1 - properties: fan functional - callback: check power fan1 functional - -- name: watch fan2 presence - description: > - 'Trigger logic on fan2 presence state changes.' - class: watch - watch: property - paths: fan2 - properties: fan present - callback: check power fan2 presence - -- name: watch fan2 functional - description: > - 'Trigger logic on fan2 functional state changes.' - class: watch - watch: property - paths: fan2 - properties: fan functional - callback: check power fan2 functional - -- name: watch fan3 presence - description: > - 'Trigger logic on fan3 presence state changes.' - class: watch - watch: property - paths: fan3 - properties: fan present - callback: check power fan3 presence - -- name: watch fan3 functional - description: > - 'Trigger logic on fan3 functional state changes.' - class: watch - watch: property - paths: fan3 - properties: fan functional - callback: check power fan3 functional - -- name: watch fan0 present and functional for resolving error logs - description: > - 'On fan present or functional state changes, check if errors need to be resolved.' - class: watch - watch: property - paths: fan0 - properties: fan present and functional - callback: resolve fan0 errors if present and functional - -- name: watch fan1 present and functional for resolving error logs - description: > - 'On fan present or functional state changes, check if errors need to be resolved.' - class: watch - watch: property - paths: fan1 - properties: fan present and functional - callback: resolve fan1 errors if present and functional - -- name: watch fan2 present and functional for resolving error logs - description: > - 'On fan present or functional state changes, check if errors need to be resolved.' - class: watch - watch: property - paths: fan2 - properties: fan present and functional - callback: resolve fan2 errors if present and functional - -- name: watch fan3 present and functional for resolving error logs - description: > - 'On fan present or functional state changes, check if errors need to be resolved.' - class: watch - watch: property - paths: fan3 - properties: fan present and functional - callback: resolve fan3 errors if present and functional - -- name: check power - description: > - 'If the chassis has power, check all fans.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fans - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan0 presence - description: > - 'If the chassis has power, check presence of fan0.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan0 presence - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan0 functional - description: > - 'If the chassis has power, check functional of fan0.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan0 functional - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan1 presence - description: > - 'If the chassis has power, check presence of fan1.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan1 presence - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan1 functional - description: > - 'If the chassis has power, check functional of fan1.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan1 functional - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan2 presence - description: > - 'If the chassis has power, check presence of fan2.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan2 presence - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan2 functional - description: > - 'If the chassis has power, check functional of fan2.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan2 functional - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan3 presence - description: > - 'If the chassis has power, check presence of fan3.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan3 presence - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check power fan3 functional - description: > - 'If the chassis has power, check functional of fan3.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fan3 functional - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check fans - description: > - 'Verify each of the 3 fans are present.' - class: callback - callback: group - members: - - check fan0 presence - - check fan1 presence - - check fan2 presence - - check fan3 presence - - check fan0 functional - - check fan1 functional - - check fan2 functional - - check fan3 functional - -- name: check fan0 presence - description: > - 'If this condition passes fan0 has been unplugged for more than 20 seconds.' - class: condition - condition: count - paths: fan0 - properties: fan present - defer: 20000000us - callback: notpresent fan0 error - countop: '<' - countbound: 1 - op: '==' - bound: true - -- name: check fan0 functional - description: > - 'If this condition passes fan0 has been marked as nonfunctional.' - class: condition - condition: count - paths: fan0 - properties: fan functional - callback: nonfunctional fan0 error - countop: '>' - countbound: 0 - op: '==' - bound: false - -- name: check fan1 presence - description: > - 'If this condition passes fan1 has been unplugged for more than 20 seconds. - Fan 1 is not in a water cooled Witherspoon, so check for cooling type - before creating an error.' - class: condition - condition: count - paths: fan1 - properties: fan present - defer: 20000000us - callback: check cooling type notpresent error - countop: '<' - countbound: 1 - op: '==' - bound: true - -- name: check fan1 functional - description: > - 'If this condition passes fan1 has been marked as nonfunctional. - Fan 1 is not in a water cooled Witherspoon, so check for cooling type - before creating an error.' - class: condition - condition: count - paths: fan1 - properties: fan functional - callback: check cooling type nonfunctional error - countop: '>' - countbound: 0 - op: '==' - bound: false - -- name: check fan2 presence - description: > - 'If this condition passes fan2 has been unplugged for more than 20 seconds.' - class: condition - condition: count - paths: fan2 - properties: fan present - defer: 20000000us - callback: notpresent fan2 error - countop: '<' - countbound: 1 - op: '==' - bound: true - -- name: check fan2 functional - description: > - 'If this condition passes fan2 has been marked as nonfunctional.' - class: condition - condition: count - paths: fan2 - properties: fan functional - callback: nonfunctional fan2 error - countop: '>' - countbound: 0 - op: '==' - bound: false - -- name: check fan3 presence - description: > - 'If this condition passes fan3 has been unplugged for more than 20 seconds.' - class: condition - condition: count - paths: fan3 - properties: fan present - defer: 20000000us - callback: notpresent fan3 error - countop: '<' - countbound: 1 - op: '==' - bound: true - -- name: check fan3 functional - description: > - 'If this condition passes fan3 has been marked as nonfunctional.' - class: condition - condition: count - paths: fan3 - properties: fan functional - callback: nonfunctional fan3 error - countop: '>' - countbound: 0 - op: '==' - bound: false - -- name: check cooling type nonfunctional error - description: > - 'If this condition passes the chassis is air cooled and will create a - nonfunctional error for fan 1.' - class: condition - condition: count - paths: chassis - properties: chassis air cooled - callback: nonfunctional fan1 error - countop: '==' - countbound: 0 - op: '==' - bound: true - -- name: check cooling type notpresent error - description: > - 'If this condition passes the chassis is air cooled and will create a - notpresent error for fan 1.' - class: condition - condition: count - paths: chassis - properties: chassis air cooled - callback: notpresent fan1 error - countop: '==' - countbound: 0 - op: '==' - bound: true - -- name: notpresent fan0 error - class: callback - callback: elog - paths: fan0 - properties: fan present - error: xyz::openbmc_project::Inventory::Error::NotPresent - metadata: - - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - type: string - -- name: nonfunctional fan0 error - class: callback - callback: elog - paths: fan0 - properties: fan functional - error: xyz::openbmc_project::Inventory::Error::Nonfunctional - metadata: - - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - type: string - -- name: notpresent fan1 error - class: callback - callback: elog - paths: fan1 - properties: fan present - error: xyz::openbmc_project::Inventory::Error::NotPresent - metadata: - - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 - type: string - -- name: nonfunctional fan1 error - class: callback - callback: elog - paths: fan1 - properties: fan functional - error: xyz::openbmc_project::Inventory::Error::Nonfunctional - metadata: - - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 - type: string - -- name: notpresent fan2 error - class: callback - callback: elog - paths: fan2 - properties: fan present - error: xyz::openbmc_project::Inventory::Error::NotPresent - metadata: - - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - type: string - -- name: nonfunctional fan2 error - class: callback - callback: elog - paths: fan2 - properties: fan functional - error: xyz::openbmc_project::Inventory::Error::Nonfunctional - metadata: - - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - type: string - -- name: notpresent fan3 error - class: callback - callback: elog - paths: fan3 - properties: fan present - error: xyz::openbmc_project::Inventory::Error::NotPresent - metadata: - - name: xyz::openbmc_project::Inventory::NotPresent::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 - type: string - -- name: nonfunctional fan3 error - class: callback - callback: elog - paths: fan3 - properties: fan functional - error: xyz::openbmc_project::Inventory::Error::Nonfunctional - metadata: - - name: xyz::openbmc_project::Inventory::Nonfunctional::CALLOUT_INVENTORY_PATH - value: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 - type: string - -- name: resolve fan0 errors if present and functional - description: > - 'If fan0 is present and functional, call the resolve fan0 errors callback.' - class: condition - condition: count - paths: fan0 - properties: fan present and functional - callback: resolve fan0 errors - countop: '==' - countbound: 2 - op: '==' - bound: true - -#Go ahead and do this on water cooled as well -- name: resolve fan1 errors if present and functional - description: > - 'If fan1 is present and functional, call the resolve fan1 errors callback.' - class: condition - condition: count - paths: fan1 - properties: fan present and functional - callback: resolve fan1 errors - countop: '==' - countbound: 2 - op: '==' - bound: true - -- name: resolve fan2 errors if present and functional - description: > - 'If fan2 is present and functional, call the resolve fan2 errors callback.' - class: condition - condition: count - paths: fan2 - properties: fan present and functional - callback: resolve fan2 errors - countop: '==' - countbound: 2 - op: '==' - bound: true - -- name: resolve fan3 errors if present and functional - description: > - 'If fan3 is present and functional, call the resolve fan3 errors callback.' - class: condition - condition: count - paths: fan3 - properties: fan present and functional - callback: resolve fan3 errors - countop: '==' - countbound: 2 - op: '==' - bound: true - -- name: resolve fan0 errors - class: callback - callback: resolve callout - paths: fan0 - properties: fan present and functional - callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - -- name: resolve fan1 errors - class: callback - callback: resolve callout - paths: fan1 - properties: fan present and functional - callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1 - -- name: resolve fan2 errors - class: callback - callback: resolve callout - paths: fan2 - properties: fan present and functional - callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - -- name: resolve fan3 errors - class: callback - callback: resolve callout - paths: fan3 - properties: fan present and functional - callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml deleted file mode 100644 index a279cfefa..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-policy/water-cooled.yaml +++ /dev/null @@ -1,322 +0,0 @@ -# Water cooled Witherspoon fan policy for PDM. -# -# A water cooled Witherspoon requires a minimum of two functional fan -# enclosures or four functional fan rotors across all enclosures. -# If the number of functional fan enclosures is below two, soft poweroff -# the system, whereas if the number of fan rotors drop below four, an -# immediate hard poweroff of the system occurs. - -- name: fan enclosures - description: > - 'A water cooled Witherspoon has three fan enclosures to monitor.' - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3 - -- name: fan rotors - description: > - 'A water cooled Witherspoon has six fan rotors to monitor.' - class: group - group: path - members: - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_1 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_0 - - meta: FAN - path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_1 - -- name: chassis state - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSISSTATE - path: /xyz/openbmc_project/state/chassis0 - -- name: chassis - description: > - 'Witherspoon has a single chassis to monitor.' - class: group - group: path - members: - - meta: CHASSIS - path: /xyz/openbmc_project/inventory/system/chassis - -- name: fan present - description: > - 'Monitor the presence state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Item - meta: PRESENT - property: Present - -- name: fan functional - description: > - 'Monitor the functional state of each fan.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.State.Decorator.OperationalStatus - meta: FUNCTIONAL - property: Functional - -- name: chassis powered - description: > - 'Monitor the chassis power state.' - class: group - group: property - type: string - members: - - interface: xyz.openbmc_project.State.Chassis - meta: CHASSIS_STATE - property: CurrentPowerState - -- name: chassis water cooled - description: > - 'Monitor the chassis cooling type.' - class: group - group: property - type: boolean - members: - - interface: xyz.openbmc_project.Inventory.Decorator.CoolingType - meta: COOLING_TYPE - property: WaterCooled - -- name: watch fan present - description: > - 'Trigger logic on fan enclosure presence state changes.' - class: watch - watch: property - paths: fan enclosures - properties: fan present - callback: check cooling type - -- name: watch fan functional - description: > - 'Trigger logic on fan enclosure functional state changes.' - class: watch - watch: property - paths: fan enclosures - properties: fan functional - callback: check cooling type - -- name: watch fan rotor functional - description: > - 'Trigger logic on fan rotor functional state changes.' - class: watch - watch: property - paths: fan rotors - properties: fan functional - callback: check cooling type - -- name: watch chassis state - description: > - 'Trigger logic on chassis power state changes.' - class: watch - watch: property - paths: chassis state - properties: chassis powered - callback: check cooling type - -- name: watch cooling type - description: > - 'Maintain a cache of the chassis cooling type.' - class: watch - watch: property - paths: chassis - properties: chassis water cooled - -- name: check cooling type - description: > - 'If this condition passes the chassis is water cooled.' - class: condition - condition: count - paths: chassis - properties: chassis water cooled - callback: check power - countop: '==' - countbound: 1 - op: '==' - bound: true - -- name: check power - description: > - 'If the chassis has power, check fans.' - class: condition - condition: count - paths: chassis state - properties: chassis powered - callback: check fans - countop: '>' - countbound: 0 - op: '==' - bound: xyz.openbmc_project.State.Chassis.PowerState.On - -- name: check fans - description: > - 'Verify there are at least two functional fan enclosures and at least - four functional fan rotors, power off if not.' - class: callback - callback: group - members: - - check group presence - - check group functional enclosures - - check group functional rotors - -- name: check group presence - description: > - 'If this condition passes more than one fan has been unplugged - for more than 25 seconds. Shut the system down. Count present - fans rather than non-present fans since the latter would pass - if the fan has not been created for some reason. - - For a more detailed definition of unplugged, consult the documentation - of xyz.openbmc_project.Inventory.Item and/or the documentation - of the fan inventory object implementation.' - class: condition - condition: count - paths: fan enclosures - properties: fan present - defer: 25000000us - callback: log and shutdown - countop: '<' - countbound: 2 - op: '==' - bound: true - -- name: check group functional enclosures - description: > - 'If this condition passes more than one fan enclosure in the group has been - marked as nonfunctional for five seconds. Shut the system down. - - For a more detailed definition of nonfunctional, consult the documentation - of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the - documentation of the fan inventory object implementation.' - class: condition - condition: count - paths: fan enclosures - properties: fan functional - defer: 5000000us - callback: log and shutdown - countop: '>' - countbound: 1 - op: '==' - bound: false - -- name: check group functional rotors - description: > - 'If this condition passes more than two fan rotors in the group have been - marked as nonfunctional for five seconds. Immediately power off. - - For a more detailed definition of nonfunctional, consult the documentation - of xyz.openbmc_project.State.Decorator.OperationalStatus and/or the - documentation of the fan inventory object implementation.' - class: condition - condition: count - paths: fan rotors - properties: fan functional - defer: 5000000us - callback: log and poweroff - countop: '>' - countbound: 2 - op: '==' - bound: false - -- name: log and poweroff - description: > - 'Immediately poweroff, log an event in the journal, and create an - error log.' - class: callback - callback: group - members: - - hard poweroff - - log hard poweroff - - create shutdown error - -- name: log and shutdown - description: > - 'Shut the system down, log an event in the journal, and create an - error log.' - class: callback - callback: group - members: - - shutdown - - log shutdown - - create shutdown error - -- name: hard poweroff - description: > - 'Immediately power off the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-chassis-hard-poweroff@0.target - type: string - - value: replace - type: string - -- name: shutdown - description: > - 'Shut down the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-host-shutdown@0.target - type: string - - value: replace - type: string - -- name: log hard poweroff - description: > - 'Log a hard poweroff event to the systemd journal.' - class: callback - callback: journal - paths: chassis state - properties: chassis powered - severity: ERR - message: Immediate poweroff of system. There are not enough functional fans. - -- name: log shutdown - description: > - 'Log a shutdown event to the systemd journal.' - class: callback - callback: journal - paths: chassis state - properties: chassis powered - severity: ERR - message: Request shutdown of system. There are not enough functional fans. - -- name: create shutdown error - description: > - 'Create a Fan Shutdown Error log.' - class: callback - callback: elog - paths: chassis state - properties: chassis powered - error: xyz::openbmc_project::State::Shutdown::Inventory::Error::Fan diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb deleted file mode 100644 index c09b9df24..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb +++ /dev/null @@ -1,22 +0,0 @@ -SUMMARY = "Witherspoon fan watchdog services" -PR = "r1" - -inherit obmc-phosphor-license -inherit obmc-phosphor-systemd - -RDEPENDS_${PN} += "virtual/obmc-gpio-monitor" -RDEPENDS_${PN} += "busybox" - -RESET_SERVICE = "witherspoon-reset-fan-watchdog.service" -TGTFMT = "obmc-chassis-poweron@0.target" -RESET_FMT = "../${RESET_SERVICE}:${TGTFMT}.requires/${RESET_SERVICE}" - -MONITOR_SERVICE = "witherspoon-fan-watchdog-monitor@.service" - -WATCHDOG_SERVICE = "witherspoon-fan-watchdog.service" -WATCHDOG_FMT = "../${WATCHDOG_SERVICE}:${TGTFMT}.requires/${WATCHDOG_SERVICE}" - -SYSTEMD_SERVICE_${PN} += "${RESET_SERVICE} ${MONITOR_SERVICE} ${WATCHDOG_SERVICE}" -SYSTEMD_LINK_${PN} += "${RESET_FMT} ${WATCHDOG_FMT}" -SYSTEMD_ENVIRONMENT_FILE_${PN} += "obmc/witherspoon-fan-watchdog/reset-fan-watchdog.conf" -SYSTEMD_ENVIRONMENT_FILE_${PN} += "obmc/witherspoon-fan-watchdog/fan-watchdog.conf" diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/fan-watchdog.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/fan-watchdog.conf deleted file mode 100644 index ce7824ccb..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/fan-watchdog.conf +++ /dev/null @@ -1,3 +0,0 @@ -TIMEOUT=5 -INTERVAL=1 -DEVICE=/dev/watchdog0 diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/reset-fan-watchdog.conf b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/reset-fan-watchdog.conf deleted file mode 100644 index b4e5ce74e..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/obmc/witherspoon-fan-watchdog/reset-fan-watchdog.conf +++ /dev/null @@ -1,4 +0,0 @@ -GPIO_PATH=/dev/gpiochip0 -GPIO=109 -DELAY=1 -ACTION=low_high diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog-monitor@.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog-monitor@.service deleted file mode 100644 index 945561b50..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog-monitor@.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Fan Watchdog Failure Monitor - -#This can get called every time a process dies, so ensure it's never limited -StartLimitIntervalSec=0 - -[Service] -Type=oneshot -ExecStart=/usr/bin/env phosphor-unit-failure-monitor --source %i --target obmc-fan-watchdog-takeover.target --action start -SyslogIdentifier=phosphor-unit-failure-monitor diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service deleted file mode 100644 index 5b59546e3..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Witherspoon Fan Watchdog Daemon -Wants=phosphor-fan-control-init@0.service -Before=phosphor-fan-control-init@0.service -Conflicts=obmc-fan-watchdog-takeover.target - -[Service] -EnvironmentFile={envfiledir}/obmc/witherspoon-fan-watchdog/fan-watchdog.conf -ExecStart=/sbin/watchdog -T ${{TIMEOUT}} -t ${{INTERVAL}} -F ${{DEVICE}} -KillSignal=SIGKILL - -[Install] -RequiredBy=obmc-chassis-poweron@0.target diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service deleted file mode 100644 index e0ef0aeeb..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Witherspoon Fan Watchdog Reset -Wants=phosphor-fan-control-init@0.service -Before=phosphor-fan-control-init@0.service -Conflicts=obmc-chassis-poweroff@0.target - -[Service] -Type=oneshot -RemainAfterExit=yes -EnvironmentFile={envfiledir}/obmc/witherspoon-fan-watchdog/reset-fan-watchdog.conf -ExecStart=/usr/bin/env phosphor-gpio-util -p ${{GPIO_PATH}} -g ${{GPIO}} -a ${{ACTION}} -d ${{DELAY}} -SyslogIdentifier=phosphor-gpio-util diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb deleted file mode 100644 index 39831cf86..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy-native.bb +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Thermal policy for Witherspoon" -PR = "r1" - -inherit native -inherit obmc-phosphor-license -inherit phosphor-dbus-monitor - -SRC_URI += "file://thermal-policy.yaml" - -do_install() { - install -D ${WORKDIR}/thermal-policy.yaml ${D}${config_dir}/thermal-policy.yaml -} diff --git a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml b/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml deleted file mode 100644 index 1dd2306e9..000000000 --- a/meta-openbmc-machines/meta-openpower/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-thermal-policy/thermal-policy.yaml +++ /dev/null @@ -1,187 +0,0 @@ -# Witherspoon thermal policy for PDM. -# -# Shut down a Witherspoon system if more than three POWER9 cores -# have a temperature greater than 115 degrees Celcius. - - -- name: core sensors - description: > - 'Witherspoon has two POWER9 chips with 24 cores each.' - class: group - group: path - members: - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp - - meta: SENSOR - path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp - -- name: core temp - description: > - 'Monitor the temperature of each core.' - class: group - group: property - type: int64 - members: - - interface: xyz.openbmc_project.Sensor.Value - meta: TEMP - property: Value - -- name: watch core temps - description: > - 'Trigger logic on core temp changes.' - class: watch - watch: property - paths: core sensors - properties: core temp - callback: check temps - -- name: check temps - description: > - 'If this condition passes at least three cores are running - too hot. Shut the system down.' - class: condition - condition: count - paths: core sensors - properties: core temp - callback: log and shutdown - countop: '>=' - countbound: 3 - op: '>=' - bound: 115000 - oneshot: true - -- name: log and shutdown - description: > - 'Shut the system down and log an event.' - class: callback - callback: group - members: - - shutdown - - create criticalhigh error - - create shutdown error - -- name: shutdown - description: > - 'Shut down the system.' - class: callback - callback: method - service: org.freedesktop.systemd1 - path: /org/freedesktop/systemd1 - interface: org.freedesktop.systemd1.Manager - method: StartUnit - args: - - value: obmc-chassis-hard-poweroff@0.target - type: string - - value: replace - type: string - -- name: create criticalhigh error - description: > - 'Create a CriticalHigh Error log.' - class: callback - callback: elog_with_metadata - paths: core sensors - properties: core temp - error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh - metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA - -- name: create shutdown error - description: > - 'Create a SystemShutdown Error log.' - class: callback - callback: elog - paths: core sensors - properties: core temp - error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor |