summaryrefslogtreecommitdiff
path: root/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh')
-rw-r--r--meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
new file mode 100644
index 000000000..9eeeeca5a
--- /dev/null
+++ b/meta-ampere/meta-jade/recipes-ampere/platform/mtjade-utils/ampere_host_check.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+source /usr/sbin/gpio-defs.sh
+source /usr/sbin/gpio-lib.sh
+
+host_status() {
+ st=$(busctl get-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host CurrentHostState | cut -d"." -f6)
+ if [ "$st" == "Running\"" ]; then
+ echo "on"
+ else
+ echo "off"
+ fi
+}
+
+createFile=$1
+setState=$2
+
+if [ $(host_status) == "on" ]; then
+ exit 0
+fi
+
+# Time out to check S0_FW_BOOT_OK is 60 seconds
+cnt=60
+val=0
+while [ $cnt -gt 0 ];
+do
+ val=$(gpio_get_val $S0_CPU_FW_BOOT_OK)
+ cnt=$((cnt - 1))
+ echo "$cnt S0_CPU_FW_BOOT_OK = $val"
+ if [ $val == 1 ]; then
+ # Sleep 5 second before the host is ready
+ sleep 5
+ if [ $createFile == 1 ]; then
+ if [ ! -d "/run/openbmc" ]; then
+ mkdir -p /run/openbmc
+ fi
+ echo "Creating /run/openbmc/host@0-on"
+ touch /run/openbmc/host@0-on
+ fi
+ exit 0
+ fi
+ sleep 1
+done
+
+exit 1