diff options
Diffstat (limited to 'meta-facebook/meta-wedge/recipes-wedge/fbutils/files/wedge_power.sh')
-rw-r--r-- | meta-facebook/meta-wedge/recipes-wedge/fbutils/files/wedge_power.sh | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/meta-facebook/meta-wedge/recipes-wedge/fbutils/files/wedge_power.sh b/meta-facebook/meta-wedge/recipes-wedge/fbutils/files/wedge_power.sh deleted file mode 100644 index ce734ef..0000000 --- a/meta-facebook/meta-wedge/recipes-wedge/fbutils/files/wedge_power.sh +++ /dev/null @@ -1,190 +0,0 @@ -#!/bin/bash -# -# Copyright 2014-present Facebook. All Rights Reserved. -# -# This program file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program in a file named COPYING; if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301 USA -# - -. /usr/local/bin/openbmc-utils.sh - -PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin - -prog="$0" - -usage() { - echo "Usage: $prog <command> [command options]" - echo - echo "Commands:" - echo " status: Get the current microserver power status" - echo - echo " on: Power on microserver if not powered on already" - echo " options:" - echo " -f: Re-do power on sequence no matter if microserver has " - echo " been powered on or not." - echo - echo " off: Power off microserver ungracefully" - echo - echo " reset: Power reset microserver ungracefully" - echo " options:" - echo " -s: Power reset whole wedge system ungracefully" - echo -} - -do_status() { - echo -n "Microserver power is " - if wedge_is_us_on; then - echo "on" - else - echo "off" - fi - return 0 -} - -do_on() { - local force opt pulse_us n retries - force=0 - while getopts "f" opt; do - case $opt in - f) - force=1 - ;; - *) - usage - exit -1 - ;; - - esac - done - echo -n "Power on microserver ..." - if [ $force -eq 0 ]; then - # need to check if uS is on or not - if wedge_is_us_on 10 "."; then - echo " Already on. Skip!" - return 1 - fi - fi - # first make sure, GPIOD1 (25) is high - gpio_set 25 1 - sleep 1 - # then, put GPIOP7 (127) to low - gpio_set 127 0 - pulse_us=500000 # 500ms - retries=3 - n=1 - while true; do - # first make sure, GPIOD1 (25) is high - gpio_set 25 1 - usleep $pulse_us - # generate the power on pulse - gpio_set 25 0 - usleep $pulse_us - gpio_set 25 1 - sleep 3 - if wedge_is_us_on 1 '' 1; then - break - fi - n=$((n+1)) - if [ $n -gt $retries ]; then - echo " Failed" - return 1 - fi - echo -n "..." - done - # Turn on the power LED (GPIOE5) - /usr/local/bin/power_led.sh on - echo " Done" - return 0 -} - -do_off() { - echo -n "Power off microserver ..." - # first make sure, GPIOD1 (25) is high - gpio_set 25 1 - # then, put GPIOP7 (127) to low - gpio_set 127 0 - gpio_set 25 0 - sleep 5 - gpio_set 25 1 - # Turn off the power LED (GPIOE5) - /usr/local/bin/power_led.sh off - echo " Done" - return 0 -} - -do_reset() { - local system opt - system=0 - while getopts "s" opt; do - case $opt in - s) - system=1 - ;; - *) - usage - exit -1 - ;; - esac - done - if [ $system -eq 1 ]; then - echo -n "Power reset whole system ..." - rmmod adm1275 - i2cset -y 12 0x10 0xd9 c - else - if ! wedge_is_us_on; then - echo "Power resetting microserver that is powered off has no effect." - echo "Use '$prog on' to power the microserver on" - return -1 - fi - echo -n "Power reset microserver ..." - # then, put GPIOP7 (127) to low - gpio_set 127 0 - gpio_set 17 0 - sleep 1 - gpio_set 17 1 - sleep 1 - fi - echo " Done" - return 0 -} - -if [ $# -lt 1 ]; then - usage - exit -1 -fi - -command="$1" -shift - -case "$command" in - status) - do_status $@ - ;; - on) - do_on $@ - ;; - off) - do_off $@ - ;; - reset) - do_reset $@ - ;; - *) - usage - exit -1 - ;; -esac - -exit $? |