Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -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"