summaryrefslogtreecommitdiff
path: root/meta-ibm/recipes-phosphor/fans/fan-watchdog
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ibm/recipes-phosphor/fans/fan-watchdog')
-rw-r--r--meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog-monitor@.service10
-rw-r--r--meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog.service13
-rw-r--r--meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/fan-watchdog.conf3
-rw-r--r--meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/reset-fan-watchdog.conf4
-rw-r--r--meta-ibm/recipes-phosphor/fans/fan-watchdog/reset-fan-watchdog.service12
5 files changed, 42 insertions, 0 deletions
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog-monitor@.service b/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog-monitor@.service
new file mode 100644
index 000000000..945561b50
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog-monitor@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Fan Watchdog Failure Monitor
+
+#This can get called every time a process dies, so ensure it's never limited
+StartLimitIntervalSec=0
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/env phosphor-unit-failure-monitor --source %i --target obmc-fan-watchdog-takeover.target --action start
+SyslogIdentifier=phosphor-unit-failure-monitor
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog.service b/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog.service
new file mode 100644
index 000000000..3f941836d
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/fan-watchdog.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Fan Watchdog Daemon
+Wants=phosphor-fan-monitor-init@0.service
+Before=phosphor-fan-monitor-init@0.service
+Conflicts=obmc-fan-watchdog-takeover.target
+
+[Service]
+EnvironmentFile={envfiledir}/obmc/fan-watchdog/fan-watchdog.conf
+ExecStart=/sbin/watchdog -T ${{TIMEOUT}} -t ${{INTERVAL}} -F ${{DEVICE}}
+KillSignal=SIGKILL
+
+[Install]
+RequiredBy=obmc-chassis-poweron@0.target
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/fan-watchdog.conf
new file mode 100644
index 000000000..ce7824ccb
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/fan-watchdog.conf
@@ -0,0 +1,3 @@
+TIMEOUT=5
+INTERVAL=1
+DEVICE=/dev/watchdog0
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/reset-fan-watchdog.conf b/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/reset-fan-watchdog.conf
new file mode 100644
index 000000000..b4e5ce74e
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/obmc/fan-watchdog/reset-fan-watchdog.conf
@@ -0,0 +1,4 @@
+GPIO_PATH=/dev/gpiochip0
+GPIO=109
+DELAY=1
+ACTION=low_high
diff --git a/meta-ibm/recipes-phosphor/fans/fan-watchdog/reset-fan-watchdog.service b/meta-ibm/recipes-phosphor/fans/fan-watchdog/reset-fan-watchdog.service
new file mode 100644
index 000000000..f6248f0ee
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/fans/fan-watchdog/reset-fan-watchdog.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Fan Watchdog Reset
+Wants=phosphor-fan-monitor-init@0.service
+Before=phosphor-fan-monitor-init@0.service
+Conflicts=obmc-chassis-poweroff@0.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+EnvironmentFile={envfiledir}/obmc/fan-watchdog/reset-fan-watchdog.conf
+ExecStart=/usr/bin/env phosphor-gpio-util -p ${{GPIO_PATH}} -g ${{GPIO}} -a ${{ACTION}} -d ${{DELAY}}
+SyslogIdentifier=phosphor-gpio-util