Initial commit
This commit is contained in:
+10
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Power Cycle by Hotswap Controller
|
||||
After=gbmc-psu-hardreset.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/tray_powercycle.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=gbmc-psu-hardreset.target
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/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.
|
||||
|
||||
##################################################
|
||||
# Stop the phosphor-hwmon daemon
|
||||
# Return:
|
||||
# 0 if success, non-zero if error
|
||||
##################################################
|
||||
stop_phosphor_hwmon() {
|
||||
if (( $# != 0 )); then
|
||||
echo 'Usage: stop_phosphor_hwmon' >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Stopping phosphor-hwmon" >&2
|
||||
local srv='system-xyz.openbmc_project.Hwmon.slice'
|
||||
systemctl stop "${srv}"
|
||||
}
|
||||
|
||||
main() {
|
||||
# Stop phosphor-hwmon so that ADM1272 powercycle doesn't happen
|
||||
# in the middle of an i2c transaction and stuck the bus low
|
||||
stop_phosphor_hwmon "$@"
|
||||
|
||||
gpioset gpiochip6 26=1
|
||||
}
|
||||
|
||||
# Exit without running main() if sourced
|
||||
if ! (return 0 2>/dev/null) ; then
|
||||
main "$@"
|
||||
fi
|
||||
@@ -0,0 +1,27 @@
|
||||
SUMMARY = "Power Cycle by Hotswap Controller"
|
||||
DESCRIPTION = "Power Cycle by Hotswap Controller Daemon"
|
||||
PR = "r1"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
|
||||
inherit systemd
|
||||
|
||||
DEPENDS += "systemd"
|
||||
RDEPENDS:${PN} += "bash"
|
||||
RDEPENDS:${PN} += "libgpiod-tools"
|
||||
|
||||
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}"
|
||||
SYSTEMD_SERVICE:${PN} = "hotswap-power-cycle.service"
|
||||
|
||||
Reference in New Issue
Block a user