blob: 14136b76695d4de6c55ea2ae13344dff1da15d69 [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
Patrick Williams8c226232023-04-15 20:05:21 -050030 stop_phosphor_hwmon "$@"
George Hung8fc2a182020-12-29 14:09:09 +080031
Brandon Kimc7f50e72020-08-12 19:15:12 -070032 gpioset gpiochip6 26=1
33}
34
35# Exit without running main() if sourced
Patrick Williams8c226232023-04-15 20:05:21 -050036if ! (return 0 2>/dev/null) ; then
37 main "$@"
38fi