blob: 2bdf49192a4ce34f8e02966b0680b670f427675e [file] [log] [blame]
#!/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 off
chassis-power-off()
{
result=$(i2cset -y $BUS_NUM $CPLD_PWR_CTRL_ADDR $OFFSET $POW_OFF_SLOT)
echo "$result"
sleep 1
chassis_status=$(gpioget 0 $POWER_OK_SLOT)
if [ "$chassis_status" == 0 ]
then
echo "Chassis is power off"
else
echo "Chassis is already off"
exit 1;
fi
}
chassis-power-gpio-status()
{
if [ "$slot" -le 4 ]
then
status=$(gpioget 0 $POWER_OK_SLOT)
if [ "$status" == 1 ]
then
chassis-power-off
exit 0;
else
echo "Chassis is already off"
exit 1;
fi
fi
echo "Invalid slot id"
exit 1;
}
chassis-power-gpio-status