diff options
Diffstat (limited to 'meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh')
-rw-r--r-- | meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh b/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh deleted file mode 100644 index 8bab9a370..000000000 --- a/meta-ampere/meta-common/recipes-ac01/host/files/ampere_power_util.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash -# Usage of this utility -function usage() { - echo "usage: power-util mb [on|off|status|cycle|reset|graceful_shutdown|graceful_reset|force_reset]"; -} - -power_off() { - echo "Shutting down Server $2" - busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off -} - -power_on() { - echo "Powering on Server $2" - busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.On -} - -power_status() { - st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6) - if [ "$st" == "On\"" ]; then - echo "on" - else - echo "off" - fi -} - -power_reset() { - echo "Reset on server $2" - busctl set-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host RequestedHostTransition s xyz.openbmc_project.State.Host.Transition.Reboot -} - -graceful_shutdown() { - if [ -f "/run/openbmc/host@0-request" ]; then - echo "shutdown host immediately" - power_off - else - echo "Triggering graceful shutdown" - gpioset -l 0 49=1 - sleep 1 - gpioset -l 0 49=0 - sleep 30s - fi -} - -force_reset() { - echo "Triggering sysreset pin" - gpioset -l 0 91=1 - sleep 1 - gpioset -l 0 91=0 -} - -if [ $# -lt 2 ]; then - echo "Total number of parameter=$#" - echo "Insufficient parameter" - usage; - exit 0; -fi - -if [ $1 != "mb" ]; then - echo "Invalid parameter1=$1" - usage; - exit 0; -fi - -if [ $2 = "on" ]; then - if [ $(power_status) == "off" ]; then - power_on - fi -elif [ $2 = "off" ]; then - if [ $(power_status) == "on" ]; then - power_off - fi - # If any request of graceful reset, need to power on - if [ -f "/run/openbmc/host@0-graceful-reset" ]; then - sleep 20s - power_on - rm -f "/run/openbmc/host@0-graceful-reset" - fi -elif [ $2 == "cycle" ]; then - if [ $(power_status) == "on" ]; then - echo "Powering off server" - power_off - sleep 20s - power_on - else - echo "Host is already off, do nothing" - fi -elif [ $2 == "reset" ]; then - if [ $(power_status) == "on" ]; then - power_reset - else - echo "ERROR: Server not powered on" - fi -elif [[ $2 == "graceful_shutdown" ]]; then - graceful_shutdown -elif [ $2 == "graceful_reset" ]; then - mkdir -p "/run/openbmc/" - touch "/run/openbmc/host@0-graceful-reset" - graceful_shutdown - sleep 20s -elif [ $2 == "status" ]; then - power_status -elif [ $2 == "force_reset" ]; then - force_reset -else - echo "Invalid parameter2=$2" - usage; -fi - -exit 0; |