aboutsummaryrefslogtreecommitdiff
path: root/hdata/spira.h
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2017-09-15 15:40:58 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-09-15 02:49:27 -0500
commit9b886a44d993ade2f05f3a554a098c674bb7cd7f (patch)
tree69cc1c95c1ec9f34ec02d73652d9401b5a0ea0ad /hdata/spira.h
parentad484081ef8a51811e7902aec436fa8f1ca9604a (diff)
downloadskiboot-9b886a44d993ade2f05f3a554a098c674bb7cd7f.zip
skiboot-9b886a44d993ade2f05f3a554a098c674bb7cd7f.tar.gz
skiboot-9b886a44d993ade2f05f3a554a098c674bb7cd7f.tar.bz2
hdata: Parse NVLink information
Add the per-chip structures that descibe how the A-Bus/NVLink/OpenCAPI phy is configured. This generates the npu@xyz nodes for each chip on systems that support it. 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.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/hdata/spira.h b/hdata/spira.h
index 8e8c74e..9b427cb 100644
--- a/hdata/spira.h
+++ b/hdata/spira.h
@@ -1151,6 +1151,35 @@ struct sppcrd_chip_tod {
/* Idata index 5 : Chip attached I2C devices */
#define SPPCRD_IDATA_HOST_I2C 5
+/* Idata index 5 : Chip attached I2C devices */
+#define SPPCRD_IDATA_PNOR 6
+
+/* Idata index 6 : OpenCAPI/NVlink info */
+#define SPPCRD_IDATA_SMP_LINK 7
+struct sppcrd_smp_link {
+ __be32 link_id;
+ __be32 usage;
+#define SMP_LINK_USE_NONE 0
+#define SMP_LINK_USE_DEVICE 1
+#define SMP_LINK_USE_INTERPOSER 2
+#define SMP_LINK_USE_DRAWER 3
+#define SMP_LINK_USE_D2D 4 /* GPU to GPU */
+ __be32 brick_id;
+ __be32 lane_mask;
+
+ /* bonded pci slots (mostly a NVLink thing) */
+ __be16 pci_slot_idx;
+ __be16 pci_sideband_slot_idx;
+
+ __be16 slca_idx; /* SLCA index of the *external* port */
+ __be16 reserved;
+
+ /* nvlink/ocapi detection devices */
+ __be32 i2c_link_cable;
+ __be32 i2c_presence;
+ __be32 i2c_micro;
+} __packed;
+
/*
* Host Services Data.
*/