Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 1 | SUMMARY = "Ampere Computing LLC Host Control Implementation" |
| 2 | DESCRIPTION = "A host control implementation suitable for Ampere Computing LLC's systems" |
| 3 | PR = "r1" |
| 4 | LICENSE = "Apache-2.0" |
| 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" |
| 6 | |
| 7 | inherit systemd |
| 8 | inherit obmc-phosphor-systemd |
| 9 | |
| 10 | # For now, monitoring shutdown_ack and reboot_ack are the only usecases |
| 11 | OBMC_HOST_MONITOR_INSTANCES = "shutdown_ack reboot_ack" |
| 12 | SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/gpio/shutdown_ack obmc/gpio/reboot_ack" |
| 13 | |
| 14 | S = "${WORKDIR}" |
| 15 | |
ThuBaNguyen | 98f43be | 2021-07-01 22:29:49 +0700 | [diff] [blame^] | 16 | SRC_URI = " \ |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 17 | file://ampere-host-reset.service \ |
| 18 | file://ampere_power_util.sh \ |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 19 | file://ampere-chassis-poweron.service \ |
| 20 | file://ampere-host-reset-ack.service \ |
| 21 | file://ampere-host-force-reset.service \ |
| 22 | file://ampere-host-power-cycle.service \ |
| 23 | " |
| 24 | |
| 25 | DEPENDS = "systemd virtual/obmc-gpio-monitor" |
| 26 | RDEPENDS_${PN} = "bash virtual/obmc-gpio-monitor" |
| 27 | |
| 28 | SYSTEMD_PACKAGES = "${PN}" |
| 29 | SYSTEMD_SERVICE_${PN} = " \ |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 30 | ampere-host-reset.service \ |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 31 | ampere-chassis-poweron.service \ |
| 32 | ampere-host-reset-ack.service \ |
| 33 | ampere-host-force-reset.service \ |
| 34 | ampere-host-power-cycle.service \ |
| 35 | " |
| 36 | # host power control |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 37 | # Force the power cycle target to run the ampere power cycle |
| 38 | HOST_REBOOT_SVC = "ampere-host-power-cycle.service" |
| 39 | HOST_REBOOT_SVC_TGTFMT = "obmc-host-reboot@{0}.target" |
| 40 | HOST_REBOOT_SVC_FMT = "../${HOST_REBOOT_SVC}:${HOST_REBOOT_SVC_TGTFMT}.requires/${HOST_REBOOT_SVC}" |
| 41 | SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'HOST_REBOOT_SVC_FMT', 'OBMC_HOST_INSTANCES')}" |
| 42 | |
| 43 | # overwrite the host reset to graceful reset |
| 44 | HOST_WARM_REBOOT_SOFT_SVC = "ampere-host-reset.service" |
| 45 | HOST_WARM_REBOOT_TGTFMT = "obmc-host-warm-reboot@{0}.target" |
| 46 | HOST_WARM_REBOOT_SOFT_SVC_FMT = "../${HOST_WARM_REBOOT_SOFT_SVC}:${HOST_WARM_REBOOT_TGTFMT}.requires/${HOST_WARM_REBOOT_SOFT_SVC}" |
| 47 | SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_SOFT_SVC_FMT', 'OBMC_HOST_INSTANCES')}" |
| 48 | |
| 49 | # overwrite force reboot |
| 50 | HOST_WARM_REBOOT_FORCE_TGT = "ampere-host-force-reset.service" |
| 51 | HOST_WARM_REBOOT_FORCE_TGTFMT = "obmc-host-force-warm-reboot@{0}.target" |
| 52 | HOST_WARM_REBOOT_FORCE_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_WARM_REBOOT_FORCE_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGT}" |
| 53 | SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_FORCE_TARGET_FMT', 'OBMC_HOST_INSTANCES')}" |
| 54 | |
| 55 | # chassis power control |
| 56 | CHASSIS_POWERON_SVC = "ampere-chassis-poweron.service" |
| 57 | CHASSIS_POWERON_TGTFMT = "obmc-chassis-poweron@{0}.target" |
| 58 | CHASSIS_POWERON_FMT = "../${CHASSIS_POWERON_SVC}:${CHASSIS_POWERON_TGTFMT}.requires/${CHASSIS_POWERON_SVC}" |
| 59 | SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERON_FMT', 'OBMC_CHASSIS_INSTANCES')}" |
| 60 | |
Tung Nguyen | 8f221bf | 2020-12-16 05:52:18 +0000 | [diff] [blame] | 61 | TMPL = "phosphor-gpio-monitor@.service" |
| 62 | INSTFMT = "phosphor-gpio-monitor@{0}.service" |
| 63 | TGT = "multi-user.target" |
| 64 | FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}" |
| 65 | SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'OBMC_HOST_MONITOR_INSTANCES')}" |
| 66 | |
| 67 | do_install() { |
| 68 | install -d ${D}/usr/sbin |
| 69 | install -m 0755 ${WORKDIR}/ampere_power_util.sh ${D}/${sbindir}/ampere_power_util.sh |
| 70 | } |
| 71 | |