diff --git a/meta-common/recipes-ac01/host/files/ampere_power_util.sh b/meta-common/recipes-ac01/host/files/ampere_power_util.sh
new file mode 100644
index 0000000..8bab9a3
--- /dev/null
+++ b/meta-common/recipes-ac01/host/files/ampere_power_util.sh
@@ -0,0 +1,109 @@
+#!/bin/bash
+# Usage of this utility
+function usage() {
+  echo "usage: power-util mb [on|off|status|cycle|reset|graceful_shutdown|graceful_reset|force_reset]";
+}
+
+power_off() {
+  echo "Shutting down Server $2"
+  busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.Off
+}
+
+power_on() {
+  echo "Powering on Server $2"
+  busctl set-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis RequestedPowerTransition s xyz.openbmc_project.State.Chassis.Transition.On
+}
+
+power_status() {
+  st=$(busctl get-property xyz.openbmc_project.State.Chassis /xyz/openbmc_project/state/chassis0 xyz.openbmc_project.State.Chassis CurrentPowerState | cut -d"." -f6)
+  if [ "$st" == "On\"" ]; then
+  echo "on"
+  else
+  echo "off"
+  fi
+}
+
+power_reset() {
+  echo "Reset on server $2"
+  busctl set-property xyz.openbmc_project.State.Host /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.Host RequestedHostTransition s xyz.openbmc_project.State.Host.Transition.Reboot
+}
+
+graceful_shutdown() {
+  if [ -f "/run/openbmc/host@0-request" ]; then
+    echo "shutdown host immediately"
+    power_off
+  else
+    echo "Triggering graceful shutdown"
+    gpioset -l 0 49=1
+    sleep 1
+    gpioset -l 0 49=0
+    sleep 30s
+  fi
+}
+
+force_reset() {
+  echo "Triggering sysreset pin"
+  gpioset -l 0 91=1
+  sleep 1
+  gpioset -l 0 91=0
+}
+
+if [ $# -lt 2 ]; then
+  echo "Total number of parameter=$#"
+  echo "Insufficient parameter"
+  usage;
+  exit 0;
+fi
+
+if [ $1 != "mb" ]; then
+  echo "Invalid parameter1=$1"
+  usage;
+  exit 0;
+fi
+
+if [ $2 = "on" ]; then
+  if [ $(power_status) == "off" ]; then
+    power_on
+  fi
+elif [ $2 = "off" ]; then
+  if [ $(power_status) == "on" ]; then
+    power_off
+  fi
+  # If any request of graceful reset, need to power on
+  if [ -f "/run/openbmc/host@0-graceful-reset" ]; then
+    sleep 20s
+    power_on
+    rm -f "/run/openbmc/host@0-graceful-reset"
+  fi
+elif [ $2 == "cycle" ]; then
+  if [ $(power_status) == "on" ]; then
+    echo "Powering off server"
+    power_off
+    sleep 20s
+    power_on
+  else
+    echo "Host is already off, do nothing"
+  fi
+elif [ $2 == "reset" ]; then
+  if [ $(power_status) == "on" ]; then
+    power_reset
+  else
+    echo "ERROR: Server not powered on"
+  fi
+elif [[ $2 == "graceful_shutdown" ]]; then
+  graceful_shutdown
+elif [ $2 == "graceful_reset" ]; then
+  mkdir -p "/run/openbmc/"
+  touch "/run/openbmc/host@0-graceful-reset"
+  graceful_shutdown
+  sleep 20s
+elif [ $2 == "status" ]; then
+  power_status
+elif [ $2 == "force_reset" ]; then
+  force_reset
+else
+  echo "Invalid parameter2=$2"
+  usage;
+fi
+
+exit 0;
diff --git a/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack b/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack
new file mode 100644
index 0000000..0436d32
--- /dev/null
+++ b/meta-common/recipes-ac01/host/files/obmc/gpio/reboot_ack
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/event0
+KEY=75
+POLARITY=1
+TARGET=ampere-host-reset-ack.service
diff --git a/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack b/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack
new file mode 100644
index 0000000..a0e857f
--- /dev/null
+++ b/meta-common/recipes-ac01/host/files/obmc/gpio/shutdown_ack
@@ -0,0 +1,4 @@
+DEVPATH=/dev/input/event0
+KEY=50
+POLARITY=1
+TARGET=ampere-chassis-poweroff.service
