meta-asrock: spc621d8hm3: Enable and configure x86-power-control

Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
Change-Id: I1195e18cbe1957702fe31ab5eb2b8a14f71bbad2
diff --git a/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf b/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf
index 9248c62..b377947 100644
--- a/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf
+++ b/meta-asrock/meta-spc621d8hm3/conf/machine/spc621d8hm3.conf
@@ -14,6 +14,9 @@
 PREFERRED_PROVIDER_virtual/obmc-flash-mgmt = "packagegroup-asrock-apps"
 PREFERRED_PROVIDER_virtual/obmc-system-mgmt = "packagegroup-asrock-apps"
 
+VIRTUAL-RUNTIME_obmc-host-state-manager = "x86-power-control"
+VIRTUAL-RUNTIME_obmc-chassis-state-manager = "x86-power-control"
+
 PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw ?= "phosphor-ipmi-kcs"
 
 VIRTUAL-RUNTIME_obmc-inventory-manager = "entity-manager"
diff --git a/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control/power-config-host0.json b/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control/power-config-host0.json
new file mode 100644
index 0000000..7558907
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control/power-config-host0.json
@@ -0,0 +1,87 @@
+{
+    "gpio_configs": [
+        {
+            "Name" : "IdButton",
+            "LineName" : "LOCATORBTN_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "NMIButton",
+            "LineName" : "NMI_BTN_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "NMIOut",
+            "LineName" : "BMC_NMI",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "PostComplete",
+            "LineName" : "FM_BIOS_POST_COMPLT_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "PowerButton",
+            "LineName" : "FP_PWR_BTN_MUX_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "PowerOk",
+            "LineName" : "PWRGD_SYS_PWROK",
+            "Type" : "GPIO",
+            "Polarity": "ActiveHigh"
+        },
+        {
+            "Name" : "PowerOut",
+            "LineName" : "FM_BMC_PWRBTN_OUT_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "ResetButton",
+            "LineName" : "FP_RST_BTN_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "ResetOut",
+            "LineName" : "RST_BMC_RSTBTN_OUT_N",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "SioOnControl",
+            "LineName" : "",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        },
+        {
+            "Name" : "SioPowerGood",
+            "LineName" : "",
+            "Type" : "GPIO",
+            "Polarity": "ActiveHigh"
+        },
+        {
+            "Name" : "SIOS5",
+            "LineName" : "",
+            "Type" : "GPIO",
+            "Polarity": "ActiveLow"
+        }
+    ],
+    "timing_configs": {
+        "PowerPulseMs": 200,
+        "ForceOffPulseMs": 15000,
+        "ResetPulseMs": 500,
+        "PowerCycleMs": 5000,
+        "SioPowerGoodWatchdogMs": 1000,
+        "PsPowerOKWatchdogMs": 8000,
+        "GracefulPowerOffS": 300,
+        "WarmResetCheckMs": 500,
+        "PowerOffSaveMs": 7000
+    }
+}
diff --git a/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control_%.bbappend b/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control_%.bbappend
new file mode 100644
index 0000000..aed15e2
--- /dev/null
+++ b/meta-asrock/meta-spc621d8hm3/recipes-x86/chassis/x86-power-control_%.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " \
+    file://power-config-host0.json \
+    "
+
+do_install:append() {
+    install -d  ${D}/${datadir}/${PN}
+    install -m 0644 ${WORKDIR}/power-config-host0.json ${D}/${datadir}/${PN}
+}