diff options
author | Brandon Kim <brandonkim@google.com> | 2020-08-13 05:15:12 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2020-08-17 13:47:39 +0300 |
commit | c7f50e73f12d02e28972419c77082b724ede8c0d (patch) | |
tree | c34ae0c15aef8ad24b54bc75e6d99b05ba1b1bdb | |
parent | c9729ac404b3123beba5af38d05a14e52938d5f2 (diff) | |
download | openbmc-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>
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}" |