summaryrefslogtreecommitdiff
path: root/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron
diff options
context:
space:
mode:
Diffstat (limited to 'meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron')
-rw-r--r--meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron
new file mode 100644
index 0000000000..0e8b702fb2
--- /dev/null
+++ b/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+# Provide source directive to shellcheck.
+# shellcheck source=meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/power-cmd
+source /usr/libexec/power-cmd
+
+POWER_OK_SLOT=$(( $1+9 ))
+slot=$(( $1-1 ))
+OFFSET=$(( 0x9 + slot ))
+
+# Server 12v power on
+chassis-power-on()
+{
+ result=$(i2cset -y $BUS_NUM $CPLD_PWR_CTRL_ADDR $OFFSET $POW_ON_SLOT)
+ echo "$result"
+ sleep 1
+ chassis_status=$(gpioget 0 $POWER_OK_SLOT)
+ if [ "$chassis_status" == 1 ]
+ then
+ echo "Chassis is power on"
+ else
+ echo "Chassis is already on"
+ exit 1;
+ fi
+}
+chassis-power-gpio-status()
+{
+ if [ "$slot" -le 4 ]
+ then
+ status=$(gpioget 0 $POWER_OK_SLOT)
+ if [ "$status" == 0 ]
+ then
+ chassis-power-on
+ exit 0;
+ else
+ echo "Chassis is already on"
+ exit 1;
+ fi
+ fi
+ echo "Invalid slot id"
+ exit 1;
+}
+chassis-power-gpio-status