blob: e2229b702261396c1f3344d92eda13a6011c16ff [file] [log] [blame]
Lei YU50ab1ac2019-10-21 10:39:07 +08001SUMMARY = "Phosphor Power services and utilities"
2DESCRIPTION = "Configure and monitor power supplies, power sequencers, and \
3voltage regulators, and analyzes power devices for faults"
4PR = "r1"
5PV = "1.0+git${SRCPV}"
6
7inherit meson
8inherit pkgconfig
9inherit systemd
Lei YU6ac94e22020-03-06 10:26:57 +080010inherit python3native
Lei YU50ab1ac2019-10-21 10:39:07 +080011
Patrick Williamsfb700fd2020-04-03 15:48:30 -050012require ${BPN}.inc
Lei YU50ab1ac2019-10-21 10:39:07 +080013
14S = "${WORKDIR}/git"
15
Lei YU7307bed2020-02-06 15:43:35 +080016POWER_SERVICE_PACKAGES = " \
17 ${PN}-cold-redundancy \
18 ${PN}-monitor \
19 ${PN}-psu-monitor \
20 ${PN}-regulators \
21 ${PN}-sequencer \
Jim Wrightfebc3dd2022-01-28 11:55:40 -060022 ${PN}-control \
Lei YU7307bed2020-02-06 15:43:35 +080023"
24POWER_UTIL_PACKAGES = "${PN}-utils"
25
26PACKAGE_BEFORE_PN = "${POWER_SERVICE_PACKAGES} ${POWER_UTIL_PACKAGES}"
Patrick Williams12fc9392021-08-06 09:16:53 -050027ALLOW_EMPTY:${PN} = "1"
Lei YU7307bed2020-02-06 15:43:35 +080028
29SYSTEMD_PACKAGES = "${POWER_SERVICE_PACKAGES}"
30
Lei YU50ab1ac2019-10-21 10:39:07 +080031DEPENDS += " \
32 phosphor-logging \
Patrick Williams4b32c9a2020-03-31 16:43:15 -050033 ${PYTHON_PN}-sdbus++-native \
Lei YU50ab1ac2019-10-21 10:39:07 +080034 sdeventplus \
35 nlohmann-json \
Jim Wrightd47fb622019-11-06 15:43:43 -060036 cli11 \
Matthew Barth8ed74392019-12-20 15:37:07 -060037 i2c-tools \
Lei YU3e645392020-03-05 13:39:10 +080038 ${PYTHON_PN}-native \
39 ${PYTHON_PN}-pyyaml-native \
40 ${PYTHON_PN}-setuptools-native \
41 ${PYTHON_PN}-mako-native \
Andrew Geissler5f7e5fe2020-05-30 23:24:44 -050042 boost \
B. J. Wyman2ca1e9b2021-04-20 23:44:32 +000043 libgpiod \
Lei YU50ab1ac2019-10-21 10:39:07 +080044 "
45
Zev Weiss5a929312022-05-06 16:15:52 -070046# The monitor packages use an org.open_power D-Bus interface and so
Matt Spinlercb3bd902021-04-30 10:54:48 -050047# should only build when told to.
48PACKAGECONFIG[monitor] = "-Dsupply-monitor=true, -Dsupply-monitor=false"
Zev Weiss5a929312022-05-06 16:15:52 -070049PACKAGECONFIG[monitor-ng] = "-Dsupply-monitor-ng=true, -Dsupply-monitor-ng=false"
Matt Spinlercb3bd902021-04-30 10:54:48 -050050
Lei YU50ab1ac2019-10-21 10:39:07 +080051SEQ_MONITOR_SVC = "pseq-monitor.service"
52SEQ_PGOOD_SVC = "pseq-monitor-pgood.service"
53PSU_MONITOR_TMPL = "power-supply-monitor@.service"
Lei YU7307bed2020-02-06 15:43:35 +080054PSU_MONITOR_SVC = "phosphor-psu-monitor.service"
Matthew Barthd3e87362019-12-20 15:42:35 -060055REGS_SVC = "phosphor-regulators.service"
Matthew Barth7036eea2019-12-20 15:49:12 -060056REGS_CONF_SVC = "phosphor-regulators-config.service"
Matthew Barth75ecde52019-12-20 15:54:02 -060057REGS_MON_ENA_SVC = "phosphor-regulators-monitor-enable.service"
58REGS_MON_DIS_SVC = "phosphor-regulators-monitor-disable.service"
Jim Wrightfebc3dd2022-01-28 11:55:40 -060059POWER_CONTROL_SVC = "phosphor-power-control.service"
Lei YU7307bed2020-02-06 15:43:35 +080060
Patrick Williams12fc9392021-08-06 09:16:53 -050061SYSTEMD_SERVICE:${PN}-sequencer = "${SEQ_MONITOR_SVC} ${SEQ_PGOOD_SVC}"
62SYSTEMD_SERVICE:${PN}-monitor = "${@bb.utils.contains('PACKAGECONFIG', 'monitor', '${PSU_MONITOR_TMPL}', '', d)}"
Zev Weiss5a929312022-05-06 16:15:52 -070063SYSTEMD_SERVICE:${PN}-psu-monitor = "${@bb.utils.contains('PACKAGECONFIG', 'monitor-ng', '${PSU_MONITOR_SVC}', '', d)}"
Patrick Williams12fc9392021-08-06 09:16:53 -050064SYSTEMD_SERVICE:${PN}-regulators = "${REGS_SVC} ${REGS_CONF_SVC} ${REGS_MON_ENA_SVC} ${REGS_MON_DIS_SVC}"
Jim Wrightfebc3dd2022-01-28 11:55:40 -060065SYSTEMD_SERVICE:${PN}-control = "${POWER_CONTROL_SVC}"
Lei YU7307bed2020-02-06 15:43:35 +080066
67
68# TODO: cold-redundancy is not installed in the repo yet
Patrick Williams12fc9392021-08-06 09:16:53 -050069# FILES:${PN}-cold-redundancy = "${bindir}/cold-redundancy"
Lei YU7307bed2020-02-06 15:43:35 +080070
Patrick Williams12fc9392021-08-06 09:16:53 -050071FILES:${PN}-monitor = "${bindir}/psu-monitor"
72FILES:${PN}-psu-monitor = "${bindir}/phosphor-psu-monitor ${datadir}/phosphor-psu-monitor"
73FILES:${PN}-regulators = "${bindir}/phosphor-regulators ${datadir}/phosphor-regulators"
74FILES:${PN}-regulators += "${bindir}/regsctl"
75FILES:${PN}-sequencer = "${bindir}/pseq-monitor"
Jim Wrightfebc3dd2022-01-28 11:55:40 -060076FILES:${PN}-control = "${bindir}/phosphor-power-control ${datadir}/phosphor-power-sequencer"
Patrick Williams12fc9392021-08-06 09:16:53 -050077FILES:${PN}-utils = "${bindir}/psutils"