summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-common
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ampere/meta-common')
-rw-r--r--meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl.bb26
-rw-r--r--meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl/ampere-host-shutdown-ack@.service8
-rw-r--r--meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh144
-rw-r--r--meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack4
-rw-r--r--meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack4
5 files changed, 3 insertions, 183 deletions
diff --git a/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl.bb b/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl.bb
index 4a44d1b2f0..cfefa8d94f 100644
--- a/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl.bb
+++ b/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl.bb
@@ -7,41 +7,21 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7ca
inherit systemd
inherit obmc-phosphor-systemd
-# For now, monitoring shutdown_ack and reboot_ack are the only usecases
-OBMC_HOST_MONITOR_INSTANCES = "shutdown_ack reboot_ack"
-SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/gpio/shutdown_ack obmc/gpio/reboot_ack"
-
S = "${WORKDIR}"
SRC_URI = " \
- file://ampere_power_util.sh \
file://ampere-host-force-reset@.service \
- file://ampere-host-shutdown-ack@.service \
"
-DEPENDS = "systemd virtual/obmc-gpio-monitor"
-RDEPENDS_${PN} = "bash virtual/obmc-gpio-monitor"
-
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = " \
ampere-host-force-reset@.service \
- ampere-host-shutdown-ack@.service \
"
-# overwrite force reboot
+# append force reboot
HOST_WARM_REBOOT_FORCE_TGT = "ampere-host-force-reset@.service"
+HOST_WARM_REBOOT_FORCE_INSTMPL = "ampere-host-force-reset@{0}.service"
HOST_WARM_REBOOT_FORCE_TGTFMT = "obmc-host-force-warm-reboot@{0}.target"
-HOST_WARM_REBOOT_FORCE_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_WARM_REBOOT_FORCE_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_TGT}"
+HOST_WARM_REBOOT_FORCE_TARGET_FMT = "../${HOST_WARM_REBOOT_FORCE_TGT}:${HOST_WARM_REBOOT_FORCE_TGTFMT}.requires/${HOST_WARM_REBOOT_FORCE_INSTMPL}"
SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'HOST_WARM_REBOOT_FORCE_TARGET_FMT', 'OBMC_HOST_INSTANCES')}"
-TMPL = "phosphor-gpio-monitor@.service"
-INSTFMT = "phosphor-gpio-monitor@{0}.service"
-TGT = "multi-user.target"
-FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}"
-SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'OBMC_HOST_MONITOR_INSTANCES')}"
-
-do_install() {
- install -d ${D}/usr/sbin
- install -m 0755 ${WORKDIR}/ampere_power_util.sh ${D}/${sbindir}/ampere_power_util.sh
-}
-
diff --git a/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl/ampere-host-shutdown-ack@.service b/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl/ampere-host-shutdown-ack@.service
deleted file mode 100644
index 6588191aae..0000000000
--- a/meta-ampere/meta-common/recipes-ac01/host/ampere-hostctrl/ampere-host-shutdown-ack@.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Ampere Computing LLC host shutdown ACK
-Conflicts=obmc-chassis-poweron@0.target
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/env ampere_power_util.sh mb shutdown_ack
-SyslogIdentifier=ampere_host_shutdown_ack
diff --git a/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh b/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh
deleted file mode 100644
index aa742104f0..0000000000
--- a/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/bash
-# Usage of this utility
-function usage() {
- echo "usage: power-util mb [on|status|cycle|reset|graceful_reset|force_reset|soft_off]";
-}
-
-power_status() {
- st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
- if [ "$st" == "On\"" ]; then
- echo "on"
- else
- echo "off"
- fi
-}
-
-shutdown_ack() {
- if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
- echo "Receive shutdown ACK triggered after softportoff the host."
- touch /run/openbmc/host@0-softpoweroff-shutdown-ack
- else
- echo "Receive shutdown ACK triggered"
-<<<<<<< HEAD
- fi
-}
-
-graceful_shutdown() {
- if [ -f "/run/openbmc/host@0-request" ]; then
- echo "shutdown host immediately"
- power_off
- else
- echo "Triggering graceful shutdown"
- gpioset -l 0 49=1
- sleep 1
- gpioset -l 0 49=0
- sleep 30s
-=======
- sleep 3
- systemctl start obmc-chassis-poweroff@0.target
->>>>>>> 397e033ef... meta-ampere: power control: refactor host power control
- fi
-}
-
-soft_off() {
- # Trigger shutdown_req
- touch /run/openbmc/host@0-softpoweroff
- gpioset -l 0 49=1
- sleep 1s
- gpioset -l 0 49=0
-
- # Wait for shutdown_ack from the host in 30 seconds
- cnt=30
- while [ $cnt -gt 0 ];
- do
- # Wait for SHUTDOWN_ACK and create the host@0-softpoweroff-shutdown-ack
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- break
- fi
- sleep 1
- cnt=$((cnt - 1))
- done
- # Softpoweroff is successed
- sleep 2
- rm -rf /run/openbmc/host@0-softpoweroff
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- rm -rf /run/openbmc/host@0-softpoweroff-shutdown-ack
- fi
- echo 0
-}
-
-force_reset() {
- if [ -f "/run/openbmc/host@0-softpoweroff" ]; then
- # In graceful host reset, after trigger os shutdown,
- # the phosphor-state-manager will call force-warm-reset
- # in this case the force_reset should wait for shutdown_ack from host
- cnt=30
- while [ $cnt -gt 0 ];
- do
- if [ -f "/run/openbmc/host@0-softpoweroff-shutdown-ack" ]; then
- break
- fi
- echo "Waiting for shutdown-ack count down $cnt"
- sleep 1
- cnt=$((cnt - 1))
- done
- # The host OS is failed to shutdown
- if [ $cnt == 0 ]; then
- echo "Shutdown-ack time out after 30s."
- exit 0
- fi
- fi
- echo "Triggering sysreset pin"
- gpioset -l 0 91=1
- sleep 1
- gpioset -l 0 91=0
-}
-
-if [ $# -lt 2 ]; then
- echo "Total number of parameter=$#"
- echo "Insufficient parameter"
- usage;
- exit 0;
-fi
-
-if [ $1 != "mb" ]; then
- echo "Invalid parameter1=$1"
- usage;
- exit 0;
-fi
-
-# check if power guard enabled
-dir="/run/systemd/system/"
-file="reboot-guard.conf"
-units=("reboot" "poweroff" "halt")
-for unit in "${units[@]}"; do
- if [ -f ${dir}${unit}.target.d/${file} ]; then
- echo "PowerGuard enabled, cannot do power control, exit!!!"
- exit -1
- fi
-done
-
-if [ ! -d "/run/openbmc/" ]; then
- mkdir -p "/run/openbmc/"
-fi
-
-if [ $2 == "shutdown_ack" ]; then
- shutdown_ack
-elif [ $2 == "status" ]; then
- power_status
-elif [ $2 == "force_reset" ]; then
- force_reset
-elif [ $2 == "soft_off" ]; then
- ret=$(soft_off)
- if [ $ret == 0 ]; then
- echo "The host is already softoff"
- else
- echo "Failed to softoff the host"
- fi
- exit $ret;
-else
- echo "Invalid parameter2=$2"
- usage;
-fi
-
-exit 0;
diff --git a/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack b/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack
deleted file mode 100644
index a8ad98ee75..0000000000
--- a/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack
+++ /dev/null
@@ -1,4 +0,0 @@
-DEVPATH=/dev/input/event0
-KEY=75
-POLARITY=1
-TARGET=obmc-host-force-warm-reboot@0.target
diff --git a/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack b/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack
deleted file mode 100644
index 18cc87246f..0000000000
--- a/meta-ampere/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack
+++ /dev/null
@@ -1,4 +0,0 @@
-DEVPATH=/dev/input/event0
-KEY=50
-POLARITY=1
-TARGET=ampere-host-shutdown-ack@0.service