diff options
Diffstat (limited to 'meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util')
-rwxr-xr-x | meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util b/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util index a2261fb81..30fa34cc8 100755 --- a/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util +++ b/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util @@ -5,50 +5,40 @@ function usage() { echo " power-util sled-cycle" } -GPIO_BASE=$(cat /sys/class/gpio/gpio*/base) -PWR_GPIO=$(($GPIO_BASE + 32 + 3)) -BMC_RDY_GPIO=$(($GPIO_BASE + 144 +1)) -PWR_GOOD=$(($GPIO_BASE + 8 + 6)) -PWR_RESET=$(($GPIO_BASE + 33)) - power_off() { echo "Shutting down Server $2" - echo 1 > /sys/class/gpio/gpio${PWR_GPIO}/value - sleep 1 - echo 0 > /sys/class/gpio/gpio${PWR_GPIO}/value - sleep 6 - echo 1 > /sys/class/gpio/gpio${PWR_GPIO}/value + 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" - echo 0 > /sys/class/gpio/gpio${BMC_RDY_GPIO}/value - echo 1 > /sys/class/gpio/gpio${PWR_GPIO}/value - echo 0 > /sys/class/gpio/gpio${PWR_GPIO}/value - sleep 1 - echo 1 > /sys/class/gpio/gpio${PWR_GPIO}/value + 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=$(cat /sys/class/gpio/gpio${PWR_GOOD}/value) - if [ "$st" == "0" ]; then - echo "off" - else + 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" - echo 0 > /sys/class/gpio/gpio${PWR_RESET}/value - sleep 0.1 - echo 1 > /sys/class/gpio/gpio${PWR_RESET}/value + 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.Reset } sled_cycle() { i2cset -y 7 0x45 0xd9 c } +if [ $1 == "sled-cycle" ]; then + echo "SLED_CYCLE starting at $(date)" + sled_cycle + exit 0; +fi + if [ $# -lt 2 ]; then echo "Total number of parameter=$#" echo "Insufficient parameter" @@ -56,10 +46,6 @@ if [ $# -lt 2 ]; then exit 0; fi -if [ $1 == "sled-cycle" ]; then - sled_cycle -fi - if [ $1 != "mb" ]; then echo "Invalid parameter1=$1" usage; |