summaryrefslogtreecommitdiffstats
path: root/include/fsp.h
diff options
context:
space:
mode:
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>2014-07-24 17:14:15 +0530
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-07-30 10:55:58 +1000
commita02875504d6c182ec27fd29638f0451bfa13b969 (patch)
treec1ac7a7fa3c1b7b6da0259911128d8e11bb2b747 /include/fsp.h
parent7d20aac37062d93e15a96008158e51b9bbb34684 (diff)
downloadtalos-skiboot-a02875504d6c182ec27fd29638f0451bfa13b969.tar.gz
talos-skiboot-a02875504d6c182ec27fd29638f0451bfa13b969.zip
epow: Enable Environment and Power Warning support in FSP machines
EPOW informs about the environmental and power situation regarding the system, so thet corrective action can be taken if required. Sapphire interacts in two distinct ways with respect to EPOW events with FSP. FSP sends notification regarding changes in system-panel status (classified as normal ,extended_1, extended_2 depending on information contained). These intimations carry details regarding the prevailing EPOW situation which triggered the notification in the first place. Sapphire can also query about these system-panel status synchronously with FSP, independent of these explicit notifications. This patch enables processing of these explicit FSP notifications related to EPOW events and map them to generic OPAL EPOW events which in turn get communicated to the host above. Host communication has been implemented with OPAL message event interface with OPAL_MSG_EPOW class messages. Host gets notified about the presence of valid EPOW status in the system and subsequently calls for the complete EPOW system status through an exclussive OPAL calls with the token OPAL_GET_EPOW_STATUS. This delivers the entire array of system EPOW status which can then be processed in the host kernel to be forwarded up the stack. Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'include/fsp.h')
-rw-r--r--include/fsp.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/fsp.h b/include/fsp.h
index 583d1acb..de9ae9e4 100644
--- a/include/fsp.h
+++ b/include/fsp.h
@@ -358,6 +358,9 @@
#define FSP_CMD_GET_IPL_SIDE 0x1ce0600 /* HV->FSP: Get IPL side and speed */
#define FSP_CMD_SET_IPL_SIDE 0x1ce0780 /* HV->FSP: Set next IPL side */
#define FSP_CMD_PCI_POWER_CONF 0x1ce1b00 /* HV->FSP: Send PCIe list to FSP */
+#define FSP_CMD_STATUS_REQ 0x0ce4800 /* HV->FSP: Request normal panel status */
+#define FSP_CMD_STATUS_EX1_REQ 0x0ce4802 /* HV->FSP: Request extended 1 panel status */
+#define FSP_CMD_STATUS_EX2_REQ 0x0ce4803 /* HV->FSP: Request extended 2 panel status */
/*
* Class 0xD2
@@ -748,4 +751,7 @@ extern void fsp_free_led_list_buf(struct fsp_msg *msg);
extern void fsp_get_led_state(struct fsp_msg *msg);
extern void fsp_set_led_state(struct fsp_msg *msg);
+/* EPOW */
+extern void fsp_epow_init(void);
+
#endif /* __FSP_H */
OpenPOWER on IntegriCloud