aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNeelesh Gupta <neelegup@linux.vnet.ibm.com>2015-07-10 11:16:49 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-07-10 15:54:42 +1000
commita561cf7b9c93de3a710a26ad4bfe3e026d6ab8c6 (patch)
tree638024c81c5e3fd450859245ae3f5a500358fa81 /include
parentc2c566a8390ea8154bfba68624dd1afa5a8079db (diff)
downloadskiboot-a561cf7b9c93de3a710a26ad4bfe3e026d6ab8c6.zip
skiboot-a561cf7b9c93de3a710a26ad4bfe3e026d6ab8c6.tar.gz
skiboot-a561cf7b9c93de3a710a26ad4bfe3e026d6ab8c6.tar.bz2
fsp/ipmi: Add the in-band IPMI support for FSP systems
FSP implements the IPMI commands support that can be accessed over the mailbox interface from the host. The host needs to provide and receive the message/data bytes of the IPMI command in the TCE space in the KCS (Keyboard Controller Style) format. Signed-off-by: Neelesh Gupta <neelegup@linux.vnet.ibm.com> Acked-By: Alistair Popple <alistair@popple.id.au> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/errorlog.h6
-rw-r--r--include/fsp.h6
-rw-r--r--include/psi.h4
3 files changed, 16 insertions, 0 deletions
diff --git a/include/errorlog.h b/include/errorlog.h
index 51af88c..af9b441 100644
--- a/include/errorlog.h
+++ b/include/errorlog.h
@@ -192,6 +192,7 @@ struct opal_err_info {
#define OPAL_SLW 0x534C /* SL */
#define OPAL_FSP 0x4650 /* FP */
#define OPAL_I2C 0x4943 /* IC */
+#define OPAL_IPMI 0x4950 /* IP */
/* SAPPHIRE SRC componenet ID*/
#define OPAL_CU 0x1000
@@ -223,6 +224,7 @@ struct opal_err_info {
#define OPAL_SL 0x2100
#define OPAL_FP 0x2200
#define OPAL_IC 0x2300
+#define OPAL_IP 0x2400
enum opal_reasoncode {
/* code update */
@@ -317,6 +319,10 @@ enum opal_reasoncode {
OPAL_RC_I2C_TIMEOUT = OPAL_IC | 0x12,
OPAL_RC_I2C_TRANSFER = OPAL_IC | 0x13,
OPAL_RC_I2C_RESET = OPAL_IC | 0x14,
+
+/* IPMI */
+ OPAL_RC_IPMI_REQ = OPAL_IP | 0x10,
+ OPAL_RC_IPMI_RESP = OPAL_IP | 0x11,
};
#define DEFINE_LOG_ENTRY(reason, type, id, subsys, \
diff --git a/include/fsp.h b/include/fsp.h
index 3df78a1..0291084 100644
--- a/include/fsp.h
+++ b/include/fsp.h
@@ -421,6 +421,9 @@
*/
#define FSP_CMD_FETCH_SP_DATA 0x1d40101 /* HV->FSP: Fetch & DMA data */
#define FSP_CMD_WRITE_SP_DATA 0x1d40201 /* HV->FSP: Fetch & DMA data */
+#define FSP_CMD_FETCH_PLAT_DATA 0x1d40500 /* HV->FSP: Platform function data */
+#define FSP_CMD_SEND_PLAT_DATA 0x0d40501 /* FSP->HV */
+#define FSP_RSP_PLAT_DATA 0x0d48500 /* HV->FSP */
/* Data set IDs for SP data commands */
#define FSP_DATASET_SP_DUMP 0x01
@@ -793,6 +796,9 @@ extern int (*fsp_flash_term_hook)(void);
extern void fsp_init_surveillance(void);
extern void fsp_surv_query(void);
+/* IPMI */
+extern void fsp_ipmi_init(void);
+
/* Reset/Reload */
extern void fsp_reinit_fsp(void);
extern void fsp_trigger_reset(void);
diff --git a/include/psi.h b/include/psi.h
index 62643aa..36240e1 100644
--- a/include/psi.h
+++ b/include/psi.h
@@ -193,6 +193,10 @@
#define PSI_DMA_MEMCONS_SZ 0x00001000
#define PSI_DMA_LOG_BUF 0x03200000
#define PSI_DMA_LOG_BUF_SZ 0x00100000 /* INMEM_CON_LEN */
+#define PSI_DMA_PLAT_REQ_BUF 0x03300000
+#define PSI_DMA_PLAT_REQ_BUF_SIZE 0x00001000
+#define PSI_DMA_PLAT_RESP_BUF 0x03301000
+#define PSI_DMA_PLAT_RESP_BUF_SIZE 0x00001000
/* P8 only mappings */
#define PSI_DMA_TRACE_BASE 0x04000000