aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>2014-07-16 10:47:59 +0530
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-07-25 14:26:24 +1000
commit45692031a4de2166f77ba654bb40d3d301aa3082 (patch)
tree65d7153d347f0e497805848294a291e7a80e91d3 /include
parent0c5472c72afce3ae5c8bfa0d599f4b7b4591668f (diff)
downloadskiboot-45692031a4de2166f77ba654bb40d3d301aa3082.zip
skiboot-45692031a4de2166f77ba654bb40d3d301aa3082.tar.gz
skiboot-45692031a4de2166f77ba654bb40d3d301aa3082.tar.bz2
DPO: Add support for Delayed Power Off sequence on FSP machines
This enabled DPO sequence handling in Sapphire. Delayed power off notification comes from FSP when the user requests for it through either ASM interface or system front operation panel. After receiving a valid DPO init message from the FSP, Sapphire intimates the host through an OPAL message and then sends an acknowledgement message to the FSP for the last DPO. The host is required to shutdown all the guests, user space programs and then shutdown itself. The shutdown sequence of the host will eventually make the opal call OPAL_CEC_POWER_DOWN receiving which the Sapphire will send a shutdown command to the FSP. Sapphire has got 45 minutes from the time for the initial DPO message to this shutdown command to FSP failing which the FSP will assume that the DPO sequence was successfull both in Sapphire and host, hence force shutdown the system. Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include')
-rw-r--r--include/fsp.h2
-rw-r--r--include/opal.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/include/fsp.h b/include/fsp.h
index 1675034..583d1ac 100644
--- a/include/fsp.h
+++ b/include/fsp.h
@@ -346,6 +346,8 @@
#define FSP_CMD_POWERDOWN_PCIRS 0x1ce4d02 /* HV->FSP: PCI cfg reset power dwn */
#define FSP_CMD_REBOOT 0x1ce4e00 /* HV->FSP: Standard IPL */
#define FSP_CMD_DEEP_REBOOT 0x1ce4e04 /* HV->FSP: Deep IPL */
+#define FSP_CMD_INIT_DPO 0x0ce5b00 /* FSP->HV: Initialize Delayed Power Off */
+#define FSP_RSP_INIT_DPO 0x0cedb00 /* HV->FSP: Response for DPO init command */
#define FSP_CMD_PANELSTATUS 0x0ce5c00 /* FSP->HV */
#define FSP_CMD_PANELSTATUS_EX1 0x0ce5c02 /* FSP->HV */
#define FSP_CMD_PANELSTATUS_EX2 0x0ce5c03 /* FSP->HV */
diff --git a/include/opal.h b/include/opal.h
index 4833726..a82a2ce 100644
--- a/include/opal.h
+++ b/include/opal.h
@@ -431,6 +431,7 @@ enum OpalMessageType {
OPAL_MSG_EPOW,
OPAL_MSG_SHUTDOWN,
OPAL_MSG_HMI_EVT,
+ OPAL_MSG_DPO,
OPAL_MSG_TYPE_MAX,
};