blob: 2b6da594606daccc0ceda2db51ef93fd014a1ef8 [file] [log] [blame]
Brad Bishopdd12ede2019-05-13 14:46:48 -04001FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
Brandon Wymanc50a8c42017-04-28 18:26:45 -05002
3# Package configuration
Brad Bishopa29c2d52019-07-17 17:35:55 -04004FAN_PACKAGES_append_ibm-ac-server = " \
Brandon Wymanc50a8c42017-04-28 18:26:45 -05005 phosphor-cooling-type \
Ben_Paifba51212019-08-05 18:34:34 +08006 "
7
8FAN_PACKAGES_append_mihawk = " \
9 phosphor-cooling-type \
10 "
Brandon Wyman5b42b742017-06-09 17:50:42 -050011
Brad Bishopa29c2d52019-07-17 17:35:55 -040012PACKAGECONFIG_append_ibm-ac-server = " cooling-type"
Ben_Paifba51212019-08-05 18:34:34 +080013PACKAGECONFIG_append_mihawk = " cooling-type"
Brandon Wyman5b42b742017-06-09 17:50:42 -050014
Brandon Wyman5b42b742017-06-09 17:50:42 -050015TMPL_COOLING = "phosphor-cooling-type@.service"
16INSTFMT_COOLING = "phosphor-cooling-type@{0}.service"
Matthew Barth1f005052019-09-20 09:56:35 -050017MULTI_USR_TGT = "multi-user.target"
18FMT_COOLING = "../${TMPL_COOLING}:${MULTI_USR_TGT}.requires/${INSTFMT_COOLING}"
Brandon Wymanc50a8c42017-04-28 18:26:45 -050019
Brad Bishopa29c2d52019-07-17 17:35:55 -040020FILES_phosphor-cooling-type_append_ibm-ac-server = " ${bindir}/phosphor-cooling-type"
21SYSTEMD_SERVICE_phosphor-cooling-type_append_ibm-ac-server = " ${TMPL_COOLING}"
22SYSTEMD_LINK_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}"
Ben_Paifba51212019-08-05 18:34:34 +080023FILES_phosphor-cooling-type_append_mihawk = " ${bindir}/phosphor-cooling-type"
24SYSTEMD_SERVICE_phosphor-cooling-type_append_mihawk = " ${TMPL_COOLING}"
25SYSTEMD_LINK_phosphor-cooling-type_append_mihawk = " ${@compose_list(d, 'FMT_COOLING', 'OBMC_CHASSIS_INSTANCES')}"
Brandon Wymanc50a8c42017-04-28 18:26:45 -050026
27COOLING_ENV_FMT = "obmc/phosphor-fan/phosphor-cooling-type-{0}.conf"
28
Brad Bishopa29c2d52019-07-17 17:35:55 -040029SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_ibm-ac-server = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
Ben_Paifba51212019-08-05 18:34:34 +080030SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_mihawk = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
Brandon Wymanc50a8c42017-04-28 18:26:45 -050031
Matthew Barth770a1de2017-10-24 14:07:09 -050032#These services are protected by the watchdog
Matthew Barthb2e743f2020-04-06 14:28:14 -050033SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf"
Matthew Barth8921e372019-04-12 13:43:18 -050034SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
35SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
36SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
Matthew Barth2e833ed2020-05-12 16:36:07 -050037SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-monitor.conf:phosphor-fan-control-init@0.service.d/fan-watchdog-monitor.conf"
38SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
39SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
40SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
Matt Spinler99940142017-06-19 14:55:52 -050041
Matthew Barth770a1de2017-10-24 14:07:09 -050042#These services need to be stopped when watchdog expires
Matthew Barth8921e372019-04-12 13:43:18 -050043SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
44SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
Matthew Barth2e833ed2020-05-12 16:36:07 -050045SYSTEMD_OVERRIDE_phosphor-fan-control_rainier += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
46SYSTEMD_OVERRIDE_phosphor-fan-monitor_rainier += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
Matthew Barth1f005052019-09-20 09:56:35 -050047
Matthew Barthb2e743f2020-04-06 14:28:14 -050048# Witherspoon fan control service linking
49# Link fan control init service
50SYSTEMD_LINK_${PN}-control_witherspoon += "${@compose_list(d, 'FMT_CONTROL_INIT', 'OBMC_CHASSIS_INSTANCES')}"
Matthew Barth1f005052019-09-20 09:56:35 -050051# Link fan control service to be started at standby
52FMT_CONTROL_STDBY_witherspoon = "../${TMPL_CONTROL}:${MULTI_USR_TGT}.wants/${INSTFMT_CONTROL}"
53SYSTEMD_LINK_${PN}-control_witherspoon += "${@compose_list(d, 'FMT_CONTROL_STDBY', 'OBMC_CHASSIS_INSTANCES')}"
54# Link fan control service to also start at poweron
55FMT_CONTROL_PWRON_witherspoon = "../${TMPL_CONTROL}:${POWERON_TGT}.requires/${INSTFMT_CONTROL}"
56SYSTEMD_LINK_${PN}-control_witherspoon += "${@compose_list(d, 'FMT_CONTROL_PWRON', 'OBMC_CHASSIS_INSTANCES')}"
Matthew Barth035b6162020-01-14 14:21:46 -060057
58# Enable the use of JSON on the fan applications that support it
Matthew Barth5da3c222020-11-12 12:09:57 -060059EXTRA_OECONF_append_witherspoon = " --enable-json --disable-json-control"
Matthew Barth035b6162020-01-14 14:21:46 -060060RDEPENDS_${PN}-presence-tach_append_witherspoon = " phosphor-fan-presence-config"
Matthew Barth8daae522020-06-19 13:48:27 -050061RDEPENDS_${PN}-monitor_append_witherspoon = " phosphor-fan-monitor-config"
Matthew Bartha3f54c82020-04-22 10:53:50 -050062
Matthew Barth530e1d82020-11-23 19:40:56 -060063EXTRA_OECONF_append_rainier = " --enable-json"
64RDEPENDS_${PN}-presence-tach_append_rainier = " phosphor-fan-presence-config"
65RDEPENDS_${PN}-monitor_append_rainier = " phosphor-fan-monitor-config"
66
67# Install fan control JSON config files
68SRC_URI_append_rainier = " \
69 file://manager.json \
70 file://rainier/fans.json \
71 file://rainier-2u/zones.json \
72 file://rainier-4u/zones.json \
73 file://everest/fans.json \
74 file://everest/zones.json"
75do_install_append_rainier() {
76 # Install fan control manager config file
77 install -d ${D}/${datadir}/phosphor-fan-presence/control/
78 install -m 0644 ${WORKDIR}/manager.json ${D}/${datadir}/phosphor-fan-presence/control/
79
80 # Install Rainier-2U/4U fan config files
81 install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier
82 install -m 0644 ${WORKDIR}/rainier/fans.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier/
83
84 install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/
85 install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/
86 install -m 0644 ${WORKDIR}/rainier-2u/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/
87 install -m 0644 ${WORKDIR}/rainier-4u/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/
88
89 # Install Everest fan config files
90 install -d ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest
91 install -m 0644 ${WORKDIR}/everest/fans.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest/
92 install -m 0644 ${WORKDIR}/everest/zones.json ${D}/${datadir}/phosphor-fan-presence/control/ibm,everest/
93}
94FILES_${PN}-control_append_rainier = " \
95 ${datadir}/phosphor-fan-presence/control/manager.json \
96 ${datadir}/phosphor-fan-presence/control/ibm,rainier/fans.json \
97 ${datadir}/phosphor-fan-presence/control/ibm,rainier-2u/zones.json \
98 ${datadir}/phosphor-fan-presence/control/ibm,rainier-4u/zones.json \
99 ${datadir}/phosphor-fan-presence/control/ibm,everest/fans.json \
100 ${datadir}/phosphor-fan-presence/control/ibm,everest/zones.json"
101
Matthew Bartha3f54c82020-04-22 10:53:50 -0500102# Set the appropriate i2c address used within the overridden phosphor-fan-control@.service
103# file that's used for witherspoon type(including witherspoon-tacoma) machines
104SYSTEMD_SUBSTITUTIONS_witherspoon = "ADDR:100:phosphor-fan-control@.service"
105SYSTEMD_SUBSTITUTIONS_witherspoon-tacoma = "ADDR:200:phosphor-fan-control@.service"