blob: f8f85b3d555eaf831b08d6020ef5fec018ceb880 [file] [log] [blame]
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -05001SUMMARY = "Ampere Computing LLC Host Control Implementation"
2DESCRIPTION = "A host control implementation suitable for Ampere Computing LLC's systems"
3PR = "r1"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
6
7inherit systemd
8inherit obmc-phosphor-systemd
9
10S = "${WORKDIR}"
11
12SRC_URI = "file://ampere-host-shutdown.service \
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050013 file://ampere_power_util.sh \
14 file://ampere-chassis-poweroff.service \
15 file://ampere-chassis-poweron.service \
Charles Boyer17b216a2021-08-27 16:09:03 -050016 file://ampere-chassis-powercycle.service \
Charles Boyer1c51ca52021-08-24 11:25:03 -050017 file://ampere-host-shutdown-ack.service \
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050018 file://ampere-host-power-cycle.service \
19 "
20
21DEPENDS = "systemd"
Mohaimen Alsamaraif59d0172021-08-17 09:34:22 -050022RDEPENDS:${PN} = "bash"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050023
24SYSTEMD_PACKAGES = "${PN}"
Mohaimen Alsamaraif59d0172021-08-17 09:34:22 -050025SYSTEMD_SERVICE:${PN} = " \
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050026 ampere-host-shutdown.service \
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050027 ampere-chassis-poweroff.service \
28 ampere-chassis-poweron.service \
Charles Boyer17b216a2021-08-27 16:09:03 -050029 ampere-chassis-powercycle.service \
Charles Boyer1c51ca52021-08-24 11:25:03 -050030 ampere-host-shutdown-ack.service \
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050031 ampere-host-power-cycle.service \
32 "
33# host power control
34# overwrite the host shutdown to graceful shutdown
35HOST_SHUTDOWN_TMPL = "ampere-host-shutdown.service"
36HOST_SHUTDOWN_TGTFMT = "obmc-host-shutdown@{0}.target"
37HOST_SHUTDOWN_FMT = "../${HOST_SHUTDOWN_TMPL}:${HOST_SHUTDOWN_TGTFMT}.requires/${HOST_SHUTDOWN_TMPL}"
Patrick Williamse83c2202021-09-01 16:17:33 -050038SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_SHUTDOWN_FMT', 'OBMC_HOST_INSTANCES')}"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050039
40# Force the power cycle target to run the ampere power cycle
41HOST_REBOOT_SVC = "ampere-host-power-cycle.service"
42HOST_REBOOT_SVC_TGTFMT = "obmc-host-reboot@{0}.target"
43HOST_REBOOT_SVC_FMT = "../${HOST_REBOOT_SVC}:${HOST_REBOOT_SVC_TGTFMT}.requires/${HOST_REBOOT_SVC}"
Patrick Williamse83c2202021-09-01 16:17:33 -050044SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'HOST_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES')}"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050045
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050046# chassis power control
47CHASSIS_POWERON_SVC = "ampere-chassis-poweron.service"
48CHASSIS_POWERON_TGTFMT = "obmc-chassis-poweron@{0}.target"
49CHASSIS_POWERON_FMT = "../${CHASSIS_POWERON_SVC}:${CHASSIS_POWERON_TGTFMT}.requires/${CHASSIS_POWERON_SVC}"
Patrick Williamse83c2202021-09-01 16:17:33 -050050SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERON_FMT', 'OBMC_CHASSIS_INSTANCES')}"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050051
52CHASSIS_POWEROFF_SVC = "ampere-chassis-poweroff.service"
53CHASSIS_POWEROFF_TGTFMT = "obmc-chassis-poweroff@{0}.target"
54CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_SVC}"
Patrick Williamse83c2202021-09-01 16:17:33 -050055SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050056
Charles Boyer17b216a2021-08-27 16:09:03 -050057CHASSIS_POWERCYCLE_SVC = "ampere-chassis-powercycle.service"
58CHASSIS_POWERCYCLE_TGTFMT = "obmc-chassis-powercycle@{0}.target"
59CHASSIS_POWERCYCLE_FMT = "../${CHASSIS_POWERCYCLE_SVC}:${CHASSIS_POWERCYCLE_TGTFMT}.requires/${CHASSIS_POWERCYCLE_SVC}"
Charles Boyer6e1b2182021-11-22 11:58:31 -060060SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERCYCLE_FMT', 'OBMC_CHASSIS_INSTANCES')}"
Charles Boyer17b216a2021-08-27 16:09:03 -050061
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050062TMPL = "phosphor-gpio-monitor@.service"
63INSTFMT = "phosphor-gpio-monitor@{0}.service"
64TGT = "multi-user.target"
65FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}"
Patrick Williamse83c2202021-09-01 16:17:33 -050066SYSTEMD_LINK:${PN} += "${@compose_list(d, 'FMT', 'OBMC_HOST_MONITOR_INSTANCES')}"
Mohaimen Alsamarai82a11d82021-06-24 16:59:29 -050067
68do_install() {
69 install -d ${D}/usr/sbin
70 install -m 0755 ${WORKDIR}/ampere_power_util.sh ${D}/${sbindir}/ampere_power_util.sh
71}