summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-gbs
diff options
context:
space:
mode:
authorBrandon Kim <brandonkim@google.com>2020-08-13 05:15:12 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2020-08-17 13:47:39 +0300
commitc7f50e73f12d02e28972419c77082b724ede8c0d (patch)
treec34ae0c15aef8ad24b54bc75e6d99b05ba1b1bdb /meta-quanta/meta-gbs/recipes-gbs
parentc9729ac404b3123beba5af38d05a14e52938d5f2 (diff)
downloadopenbmc-c7f50e73f12d02e28972419c77082b724ede8c0d.tar.xz
meta-quanta: gbs: Add tray_powercycle.sh
Fix hotswap-power-cycle.service as well. (From meta-quanta rev: f27143480d654623b6e576b2ce236af3b6f0950d) Signed-off-by: Brandon Kim <brandonkim@google.com> Change-Id: I63e105c27a61475ffc84565a933c7c98bd3d268c Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-gbs')
-rw-r--r--meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/hotswap-power-cycle.service8
-rw-r--r--meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh24
-rw-r--r--meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/gbs-hotswap-power-cycle.bb7
3 files changed, 32 insertions, 7 deletions
diff --git a/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/hotswap-power-cycle.service b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/hotswap-power-cycle.service
index 57724f353..054b2fe6d 100644
--- a/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/hotswap-power-cycle.service
+++ b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/hotswap-power-cycle.service
@@ -2,13 +2,9 @@
Description=Power Cycle by Hotswap Controller
[Service]
-EnvironmentFile=/run/psu_timedelay
-ExecStartPre=sleep $PSU_HARDRESET_DELAY
-ExecStart=gpioset gpiochip6 26=1
-Restart=no
Type=oneshot
-RemainAfterExit=true
-StandardOutput=syslog
+EnvironmentFile=-/run/psu_timedelay
+ExecStart=/usr/bin/tray_powercycle.sh
[Install]
WantedBy=gbmc-psu-hardreset.target
diff --git a/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh
new file mode 100644
index 000000000..5cbf49bb5
--- /dev/null
+++ b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# PSU hard reset (power cycle) script.
+#
+# Power cycle the entire tray by setting the PSU hotswap reset (GPIO218) to high
+#
+# Global variable: PSU_HARDRESET_DELAY specifies the number of seconds to wait
+# before pulling the trigger. If not specified or zero, the script power cycles
+# immediately.
+main() {
+ # Sleep PSU_HARDRESET_DELAY seconds
+ local psu_delay=$((PSU_HARDRESET_DELAY))
+ if ((psu_delay > 0)); then
+ echo "Sleeping ${psu_delay} seconds before PSU hard reset!"
+ sleep "${psu_delay}"
+ fi
+
+ gpioset gpiochip6 26=1
+}
+
+# Exit without running main() if sourced
+return 0 2>/dev/null
+
+main "$@"
diff --git a/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/gbs-hotswap-power-cycle.bb b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/gbs-hotswap-power-cycle.bb
index 1a20beec7..6bf7bb69f 100644
--- a/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/gbs-hotswap-power-cycle.bb
+++ b/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/gbs-hotswap-power-cycle.bb
@@ -9,11 +9,16 @@ inherit systemd
DEPENDS += "systemd"
RDEPENDS_${PN} += "bash"
-SRC_URI = " file://hotswap-power-cycle.service"
+SRC_URI = " file://hotswap-power-cycle.service \
+ file://tray_powercycle.sh \
+ "
do_install() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/hotswap-power-cycle.service ${D}${systemd_system_unitdir}
+
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/tray_powercycle.sh ${D}${bindir}
}
SYSTEMD_PACKAGES = "${PN}"