summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPotin Lai <potin.lai@quantatw.com>2022-04-28 12:02:21 +0300
committerPatrick Williams <patrick@stwcx.xyz>2022-04-28 21:36:25 +0300
commit035ff465debfc33ff8fec719e83379d737d91ec2 (patch)
treef21d783916c85094985a98b26f13ab72907f7bd2
parentbb91c1b97592f2a86c3f6711cc0c7028deaa2f04 (diff)
downloadopenbmc-035ff465debfc33ff8fec719e83379d737d91ec2.tar.xz
meta-bletchley: power-ctrl: add host recovery mode
Add command to trigger host recovery mode Signed-off-by: Potin Lai <potin.lai@quantatw.com> Change-Id: I1067c347b975ef531a58e6022e3ef4d9f3eee67a
-rwxr-xr-xmeta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl25
1 files changed, 24 insertions, 1 deletions
diff --git a/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl b/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
index b27ca323e0..4b0ec8a2ed 100755
--- a/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
+++ b/meta-facebook/meta-bletchley/recipes-bletchley/motor-ctrl/files/power-ctrl
@@ -309,7 +309,7 @@ function create_dev_mem()
}
function show_usage(){
- echo "Usage: power-ctrl [sled1 | sled2 | sled3 | sled4 | sled5 | sled6] [on off ac-on ac-off status dfu]"
+ echo "Usage: power-ctrl [sled1 | sled2 | sled3 | sled4 | sled5 | sled6] [on off ac-on ac-off status dfu recovery]"
echo " power-ctrl chassis-cycle"
}
@@ -422,6 +422,29 @@ elif [[ "$ACTION" == "dfu" ]]; then
echo "SLED$SLED_NUM: release power button failed"
exit 1
fi
+elif [[ "$ACTION" == "recovery" ]]; then
+ if [ "$(get_ac_status "$SLED_NUM")" != "$HOST_AC_OFF" ]; then
+ echo "Please turn off host before trigger recovery mode"
+ exit 1
+ fi
+ echo "Set host$SLED_NUM Recovery mode"
+
+ # press power button
+ echo "SLED$SLED_NUM: pressing power button"
+ if ! press_power_button "$SLED_NUM"; then
+ echo "SLED$SLED_NUM: press power button failed"
+ echo "SLED$SLED_NUM: releasing power button"
+ release_power_button "$SLED_NUM"
+ exit 1
+ fi
+ sleep 10
+
+ # release power button
+ echo "SLED$SLED_NUM: releasing host power button"
+ if ! release_power_button "$SLED_NUM"; then
+ echo "SLED$SLED_NUM: release power button failed"
+ exit 1
+ fi
else
echo "Unknown action: [ ${ACTION} ]"
show_usage