1#!/bin/bash 2# Copyright 2021 Google LLC 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16# This is intended to be used as a library for managing gpio line values. 17# Executing this directly will do nothing. 18[ -n "${host_pwr_init-}" ] && return 19 20source /usr/share/gpio-ctrl/lib.sh || exit 21 22# Read by the tooling to determine if the machine is powered on or off 23HOST_GPIO_PGOOD='unset' 24# Set according to whether the host is powered on or off 25HOST_LED_PWR='' 26# Written by the tooling to assert the power button 27HOST_GPIO_PWR_BTN='unset' 28# Written by the tooling to assert a cold reset 29HOST_GPIO_COLD_RESET='unset' 30# Written by the tooling to assert a warm reset 31HOST_GPIO_WARM_RESET='unset' 32 33# Load configurations from a known location in the filesystem to populate 34# named GPIOs 35shopt -s nullglob 36for conf in /usr/share/gpio-host-pwr/conf.d/*.sh; do 37 source "$conf" 38done 39 40################################################## 41# Stop the host watchdog 42# Return: 43# 0 if success, non-zero if error 44################################################## 45host_pwr_stop_watchdog() { 46 # Check to see if we can stop the watchdog safely 47 # We don't want to stop if we are called from the watchdog itself 48 if [ -n "${DONT_STOP_WATCHDOG-}" ]; then 49 return 0 50 fi 51 52 echo 'Stopping the host watchdog' >&2 53 systemctl stop phosphor-watchdog@host0 54} 55 56################################################## 57# Start the host watchdog 58# Return: 59# 0 if success, non-zero if error 60################################################## 61host_pwr_start_watchdog() { 62 echo 'Starting the host watchdog' >&2 63 systemctl start phosphor-watchdog@host0 64} 65 66host_pwr_init=1 67return 0 2>/dev/null 68echo "gpio-host-pwr is a library, not executed directly" >&2 69exit 1 70