| #!/bin/bash |
| # shellcheck source=meta-facebook/recipes-fb/obmc_functions/files/fb-common-functions |
| |
| if [ $# -ne 1 ]; then |
| echo "Incorrect number of arguments. Expected 1, got $#." |
| exit 1 |
| fi |
| |
| source /usr/libexec/fb-common-functions |
| |
| GPIO_LOW=0 |
| |
| #====================================== |
| # output pins |
| #====================================== |
| out_rmc_tray_leak_n="LEAK_DETECT_RMC_N" |
| out_rmc_small_leak_n="SMALL_LEAK_RMC_N" |
| |
| set_request_host_transition() |
| { |
| busctl set-property xyz.openbmc_project.State.Host0 \ |
| /xyz/openbmc_project/state/host0 \ |
| xyz.openbmc_project.State.Host \ |
| RequestedHostTransition s "$1" |
| } |
| |
| case $1 in |
| Nvidia_SMA_10_LEAKDETECTOR_* | Nvidia_SMA_20_LEAKDETECTOR_*) |
| set_request_host_transition "xyz.openbmc_project.State.Host.Transition.Off" |
| set_gpio "$out_rmc_tray_leak_n" "$GPIO_LOW" |
| ;; |
| |
| Nvidia_SMA_40_LEAKDETECTOR_* | Nvidia_SMA_60_LEAKDETECTOR_* | Nvidia_SMA_70_LEAKDETECTOR_*) |
| set_gpio "$out_rmc_small_leak_n" "$GPIO_LOW" |
| ;; |
| |
| *) |
| echo "Unrecognized leak sensor name." |
| exit 1 |
| esac |
| |
| systemctl start obmc-led-group-start@leak_detected.service |
| |
| exit 0 |