summaryrefslogtreecommitdiff
path: root/include/linux/i3c/mctp/i3c-mctp.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/i3c/mctp/i3c-mctp.h')
-rw-r--r--include/linux/i3c/mctp/i3c-mctp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/i3c/mctp/i3c-mctp.h b/include/linux/i3c/mctp/i3c-mctp.h
index 72f6fae922b5..dd20750d79d8 100644
--- a/include/linux/i3c/mctp/i3c-mctp.h
+++ b/include/linux/i3c/mctp/i3c-mctp.h
@@ -8,6 +8,16 @@
#define I3C_MCTP_PAYLOAD_SIZE 64
#define I3C_MCTP_HDR_SIZE 4
+/* PECI MCTP Intel VDM definitions */
+#define MCTP_MSG_TYPE_VDM_PCI 0x7E
+#define MCTP_VDM_PCI_INTEL_VENDOR_ID 0x8086
+#define MCTP_VDM_PCI_INTEL_PECI 0x2
+
+/* MCTP message header offsets */
+#define MCTP_MSG_HDR_MSG_TYPE_OFFSET 0
+#define MCTP_MSG_HDR_VENDOR_OFFSET 1
+#define MCTP_MSG_HDR_OPCODE_OFFSET 4
+
struct i3c_mctp_client;
struct mctp_protocol_hdr {
@@ -34,5 +44,7 @@ int i3c_mctp_get_eid(struct i3c_mctp_client *client, u8 domain_id, u8 *eid);
int i3c_mctp_send_packet(struct i3c_device *i3c, struct i3c_mctp_packet *tx_packet);
struct i3c_mctp_packet *i3c_mctp_receive_packet(struct i3c_mctp_client *client,
unsigned long timeout);
+struct i3c_mctp_client *i3c_mctp_add_peci_client(struct i3c_device *i3c);
+void i3c_mctp_remove_peci_client(struct i3c_mctp_client *client);
#endif /* I3C_MCTP_H */