summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh
blob: 5cbf49bb5b32ab8c4fe94b9f45276b1e34bea54e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#
# PSU hard reset (power cycle) script.
#
# Power cycle the entire tray by setting the PSU hotswap reset (GPIO218) to high
#
# Global variable: PSU_HARDRESET_DELAY specifies the number of seconds to wait
# before pulling the trigger. If not specified or zero, the script power cycles
# immediately.
main() {
  # Sleep PSU_HARDRESET_DELAY seconds
  local psu_delay=$((PSU_HARDRESET_DELAY))
  if ((psu_delay > 0)); then
    echo "Sleeping ${psu_delay} seconds before PSU hard reset!"
    sleep "${psu_delay}"
  fi

  gpioset gpiochip6 26=1
}

# Exit without running main() if sourced
return 0 2>/dev/null

main "$@"