summaryrefslogtreecommitdiff
path: root/meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util
diff options
context:
space:
mode:
Diffstat (limited to 'meta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util')
-rwxr-xr-xmeta-facebook/meta-tiogapass/recipes-fbtp/fb-powerctrl/files/power-util40
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;