aboutsummaryrefslogtreecommitdiff
path: root/hdata/spira.h
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2017-01-13 17:56:20 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-01-16 10:55:11 +1100
commit690f9da985b5f40d4f87ff161d43fd6989f6495c (patch)
tree250f43ee432234f6a265b08c5a4e24f9bbccb121 /hdata/spira.h
parent7c860f25e4e44b046ee44eac9e2e0834fd4a3dbc (diff)
downloadskiboot-690f9da985b5f40d4f87ff161d43fd6989f6495c.zip
skiboot-690f9da985b5f40d4f87ff161d43fd6989f6495c.tar.gz
skiboot-690f9da985b5f40d4f87ff161d43fd6989f6495c.tar.bz2
hdat: Add BMC and LPC IOPATH support
BMC based systems use the LPC bus for communicating between the host and service processor. This is represented as a "SP IOPATH" in the HDAT and this patch adds parsing and generation of the devicetree entries to describe this. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hdata/spira.h')
-rw-r--r--hdata/spira.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/hdata/spira.h b/hdata/spira.h
index 4e03577..7fbf02c 100644
--- a/hdata/spira.h
+++ b/hdata/spira.h
@@ -273,6 +273,7 @@ struct spss_iopath {
__be16 iopath_type;
#define SPSS_IOPATH_TYPE_IOHUB_PHB 0x0001
#define SPSS_IOPATH_TYPE_PSI 0x0002
+#define SPSS_IOPATH_TYPE_LPC 0x0003
union {
struct {
__be16 iohub_chip_inst;
@@ -293,6 +294,40 @@ struct spss_iopath {
__be32 reserved2;
__be64 gxhb_base;
} __packed psi;
+
+ struct { /* only populated after version 0x30 */
+ __be16 link_status;
+#define LPC_STATUS_STUFFED 0x0000
+#define LPC_STATUS_ACTIVE 0x0001
+ uint8_t ml2_version;
+ uint8_t reserved[3];
+ __be32 chip_id;
+
+ __be32 io_bar;
+ __be32 memory_bar;
+ __be32 firmware_bar;
+ __be32 internal_bar;
+
+ __be32 reserved2;
+
+ __be64 uart_base;
+ __be32 uart_size;
+ __be32 uart_clk; /* UART baud clock in Hz */
+ __be32 uart_baud; /* UART baud rate */
+
+ uint8_t uart_int_number;
+ uint8_t uart_int_type;
+#define UART_INT_LVL_LOW 0x1
+#define UART_INT_RISING 0x2
+#define UART_INT_LVL_HIGH 0x3
+ uint8_t reserved3[2];
+
+ __be64 bt_base;
+ __be32 bt_size;
+ uint8_t bt_sms_int_num;
+ uint8_t bt_bmc_response_int_num;
+ uint8_t reserved4[2];
+ } __packed lpc;
};
} __packed;