summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb7
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service8
-rw-r--r--meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh8
-rw-r--r--meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend2
4 files changed, 24 insertions, 1 deletions
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
index 77ad9d5a1..327053cc9 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb
@@ -14,6 +14,7 @@ SRC_URI = "file://ampere-host-shutdown.service \
file://ampere_power_util.sh \
file://ampere-chassis-poweroff.service \
file://ampere-chassis-poweron.service \
+ file://ampere-chassis-powercycle.service \
file://ampere-host-shutdown-ack.service \
file://ampere-host-force-reset.service \
file://ampere-host-power-cycle.service \
@@ -28,6 +29,7 @@ SYSTEMD_SERVICE:${PN} = " \
ampere-host-reset.service \
ampere-chassis-poweroff.service \
ampere-chassis-poweron.service \
+ ampere-chassis-powercycle.service \
ampere-host-shutdown-ack.service \
ampere-host-force-reset.service \
ampere-host-power-cycle.service \
@@ -68,6 +70,11 @@ CHASSIS_POWEROFF_TGTFMT = "obmc-chassis-poweroff@{0}.target"
CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_SVC}"
SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+CHASSIS_POWERCYCLE_SVC = "ampere-chassis-powercycle.service"
+CHASSIS_POWERCYCLE_TGTFMT = "obmc-chassis-powercycle@{0}.target"
+CHASSIS_POWERCYCLE_FMT = "../${CHASSIS_POWERCYCLE_SVC}:${CHASSIS_POWERCYCLE_TGTFMT}.requires/${CHASSIS_POWERCYCLE_SVC}"
+SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERCYCLE_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+
TMPL = "phosphor-gpio-monitor@.service"
INSTFMT = "phosphor-gpio-monitor@{0}.service"
TGT = "multi-user.target"
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service
new file mode 100644
index 000000000..c55fcd3db
--- /dev/null
+++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Ampere Computing LLC Power OFF Chassis
+
+[Service]
+RemainAfterExit=no
+Type=oneshot
+ExecStart=/usr/bin/env ampere_power_util.sh mb hotswap
+SyslogIdentifier=ampere_power_util.sh
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
index 8d58a0827..905c7f23a 100644
--- a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
+++ b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh
@@ -4,7 +4,11 @@ source /usr/sbin/kudo-lib.sh
# Usage of this utility
function usage() {
- echo "usage: power-util mb [on|off|graceful_shutdown|force_reset|shutdown_ack]";
+ echo "usage: power-util mb [on|off|graceful_shutdown|force_reset|shutdown_ack|hotswap]";
+}
+
+hotswap() {
+ kudo.sh rst hotswap
}
force_off() {
@@ -113,6 +117,8 @@ elif [ $2 = "off" ]; then
force_off
fi
fi
+elif [[ $2 == "hotswap" ]]; then
+ hotswap
elif [[ $2 == "graceful_shutdown" ]]; then
graceful_shutdown
elif [ $2 == "force_reset" ]; then
diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
index 57e3aa6c8..bbd60bb3f 100644
--- a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
+++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend
@@ -1,5 +1,7 @@
FILESEXTRAPATHS:prepend:kudo := "${THISDIR}/${PN}:"
+CHASSIS_ACTION_TARGETS:append:kudo = " powercycle"
+
SRC_URI:append:kudo = " \
file://xyz.openbmc_project.State.Chassis.service \
"