diff options
author | Matthew Barth <msbarth@us.ibm.com> | 2019-04-12 21:43:18 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-04-26 16:38:59 +0300 |
commit | 8921e379eaf5d8fdd181689c3da7d162e71757c0 (patch) | |
tree | 42caec0ebaa2e349811b17b54e765b20e055302d /meta-ibm | |
parent | 79b6cb1267b0c4637c2385790e52025de48e04fa (diff) | |
download | openbmc-8921e379eaf5d8fdd181689c3da7d162e71757c0.tar.xz |
swift: Add fan control for bring-up
To support the swift system bring-up, install the cooling type and fan
control application with minimal configuration to run fans at full
speed(9500 RPMs).
Tested:
Cooling type included in image and configured correctly
Fan control included in image and configured correctly
(From meta-ibm rev: 2eb5a13421e2c5e5bc0a0cfac9de87f0cd8c9c59)
Change-Id: I3359cf0444c1b4af8fae1b7f51ef608e4dc2c4c2
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-ibm')
6 files changed, 138 insertions, 6 deletions
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 e28bcb1d0..5a24fa79e 100644 --- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend @@ -22,12 +22,16 @@ 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')}" +# Do not install presence and monitor applications for Swift bring-up +FAN_PACKAGES_remove_swift = "${PN}-presence-tach ${PN}-monitor" +PACKAGECONFIG_remove_swift = "presence monitor" + #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" +SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf" +SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf" +SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf" +SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "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" +SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf" +SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf" diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-control-fan-config-native/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-control-fan-config-native/fans.yaml new file mode 100644 index 000000000..a70ac85a3 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-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/swift-phosphor-fan-control-zone-conditions-config-native/zone_conditions.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-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/swift-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/swift-phosphor-fan-control-zone-config-native/zones.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-control-zone-config-native/zones.yaml new file mode 100644 index 000000000..c10c6c186 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan-control-zone-config-native/zones.yaml @@ -0,0 +1,68 @@ +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: 9500 + 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 which will be replaced on startup if + another supported mode was selected & persisted. + +#Water cooled zones +- zone_conditions: + - name: water_and_air_cooled_chassis + + zones: + - zone: 0 + cooling_profiles: + - water + - all + full_speed: 9500 + 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 which will be replaced on startup if + another supported mode was selected & persisted. diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-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/swift-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/swift-phosphor-fan/phosphor-cooling-type@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-phosphor-fan/phosphor-cooling-type@.service new file mode 100644 index 000000000..c1f5ae293 --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/swift-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 |