summaryrefslogtreecommitdiff
path: root/meta-facebook/recipes-phosphor/state/phosphor-state-manager
diff options
context:
space:
mode:
Diffstat (limited to 'meta-facebook/recipes-phosphor/state/phosphor-state-manager')
-rw-r--r--meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init24
-rw-r--r--meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init.service15
2 files changed, 39 insertions, 0 deletions
diff --git a/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init
new file mode 100644
index 0000000000..da4c278c29
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init
@@ -0,0 +1,24 @@
+#!/bin/bash
+# Provide source directive to shellcheck.
+gpioInitHighTable=(
+ "power-nic-bmc-enable"
+ "usb-bmc-enable"
+ "reset-cause-usb-hub"
+ "bmc-ready"
+ "fan0-bmc-cpld-enable"
+ "fan1-bmc-cpld-enable"
+ "fan2-bmc-cpld-enable"
+ "fan3-bmc-cpld-enable"
+)
+
+gpio-init()
+{
+ for gpioInitHigh in "${gpioInitHighTable[@]}"
+ do
+ # need the word splitting for gpiofind command.
+ # shellcheck disable=SC2046
+ gpioset $(gpiofind "${gpioInitHigh}")=1
+ done
+}
+
+gpio-init
diff --git a/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init.service b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init.service
new file mode 100644
index 0000000000..18def6d2cb
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-ctrl-init.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Power Control Initialization
+Wants=obmc-mapper.target
+After=obmc-mapper.target
+Wants=xyz.openbmc_project.Logging.service
+After=xyz.openbmc_project.Logging.service
+Before=mapper-wait@-xyz.openbmc_project.State.Chassis@0.service
+Before=mapper-wait@-xyz-openbmc_project-state-bmc.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/libexec/phosphor-state-manager/power-ctrl-init
+
+[Install]
+WantedBy=multi-user.target