summaryrefslogtreecommitdiff
path: root/meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/chassis-poweron
blob: 0e8b702fb2ff9205ab5c04d0381a9c14febeb0d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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