diff --git a/src/meson.build b/src/meson.build
index 260c160..3f64ef2 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -9,6 +9,7 @@
 sources = [
   'asset_info.cpp',
   'firmware_version.cpp',
+  'power.cpp',
   'utils.cpp',
 ]
 
diff --git a/src/power.cpp b/src/power.cpp
new file mode 100644
index 0000000..9c9ebc0
--- /dev/null
+++ b/src/power.cpp
@@ -0,0 +1,65 @@
+#include "types.hpp"
+#include "utils.hpp"
+
+#include <ipmid/api.hpp>
+
+namespace ipmi
+{
+namespace iei
+{
+namespace power
+{
+
+void registerIEIPowerFunctions() __attribute__((constructor));
+
+static constexpr auto settingsService = "xyz.openbmc_project.Settings";
+
+static constexpr auto powerRestorePolicyPath =
+    "/xyz/openbmc_project/control/host0/power_restore_policy";
+static constexpr auto powerRestorePolicyIface =
+    "xyz.openbmc_project.Control.Power.RestorePolicy";
+static constexpr auto powerRestoreDelayProp = "PowerRestoreDelay";
+
+RspType<> ipmiIEISetPowerDelay(ipmi::Context::ptr ctx,
+                               uint16_t powerRestoreDelay)
+{
+    uint64_t powerRestoreDelayInUs = powerRestoreDelay * 1000 * 1000;
+
+    auto ec = iei::setDbusProperty(
+        ctx, settingsService, powerRestorePolicyPath, powerRestorePolicyIface,
+        powerRestoreDelayProp, powerRestoreDelayInUs);
+
+    return ipmi::response(ec);
+}
+
+RspType<uint16_t> ipmiIEIGetPowerDelay(ipmi::Context::ptr ctx)
+{
+    uint64_t powerRestoreDelayInUs = 0;
+
+    auto ec = iei::getDbusProperty(
+        ctx, settingsService, powerRestorePolicyPath, powerRestorePolicyIface,
+        powerRestoreDelayProp, powerRestoreDelayInUs);
+    if (ec)
+    {
+        return ipmi::response(ec);
+    }
+
+    uint16_t powerRestoreDelay = powerRestoreDelayInUs / (1000 * 1000);
+
+    return ipmi::responseSuccess(powerRestoreDelay);
+}
+
+void registerIEIPowerFunctions()
+{
+    // Set power delay
+    ipmi::registerHandler(prioOemBase, netFnIEI, cmdSetPowerDelay,
+                          ipmi::Privilege::Operator, ipmiIEISetPowerDelay);
+
+    // Get power delay
+    ipmi::registerHandler(prioOemBase, netFnIEI, cmdGetPowerDelay,
+                          ipmi::Privilege::Operator, ipmiIEIGetPowerDelay);
+}
+
+} // namespace power
+} // namespace iei
+} // namespace ipmi
diff --git a/src/types.hpp b/src/types.hpp
index 0fc6f72..b181250 100644
--- a/src/types.hpp
+++ b/src/types.hpp
@@ -13,6 +13,10 @@
 constexpr ipmi::Cmd cmdSetAssetInfo = 0x01;
 constexpr ipmi::Cmd cmdGetFWVersion = 0x03;
 
+// power
+constexpr ipmi::Cmd cmdSetPowerDelay = 0x24;
+constexpr ipmi::Cmd cmdGetPowerDelay = 0x25;
+
 } // namespace iei
 
 namespace intel_me
