blob: e22dd20438d4ffb5bdaec4814a1b4e2a1006ff67 [file] [log] [blame]
Brandon Kimc7f50e72020-08-12 19:15:12 -07001#!/bin/bash
2#
3# PSU hard reset (power cycle) script.
4#
5# Power cycle the entire tray by setting the PSU hotswap reset (GPIO218) to high
6#
7# Global variable: PSU_HARDRESET_DELAY specifies the number of seconds to wait
8# before pulling the trigger. If not specified or zero, the script power cycles
9# immediately.
George Hung8fc2a182020-12-29 14:09:09 +080010
11##################################################
12# Stop the phosphor-hwmon daemon
13# Return:
14# 0 if success, non-zero if error
15##################################################
16stop_phosphor_hwmon() {
17 if (( $# != 0 )); then
18 echo 'Usage: stop_phosphor_hwmon' >&2
19 return 1
20 fi
21
22 echo "Stopping phosphor-hwmon" >&2
23 local srv='system-xyz.openbmc_project.Hwmon.slice'
24 systemctl stop "${srv}"
25}
26
Brandon Kimc7f50e72020-08-12 19:15:12 -070027main() {
George Hung8fc2a182020-12-29 14:09:09 +080028 # Stop phosphor-hwmon so that ADM1272 powercycle doesn't happen
29 # in the middle of an i2c transaction and stuck the bus low
30 stop_phosphor_hwmon
31
Brandon Kimc7f50e72020-08-12 19:15:12 -070032 gpioset gpiochip6 26=1
33}
34
35# Exit without running main() if sourced
36return 0 2>/dev/null
37
38main "$@"