summaryrefslogtreecommitdiff
path: root/driver/sb_rmi.h
diff options
context:
space:
mode:
Diffstat (limited to 'driver/sb_rmi.h')
-rw-r--r--driver/sb_rmi.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/driver/sb_rmi.h b/driver/sb_rmi.h
new file mode 100644
index 0000000000..132af0e70a
--- /dev/null
+++ b/driver/sb_rmi.h
@@ -0,0 +1,58 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* AMD SB-RMI (Side-band Remote Management Interface) Driver */
+
+#ifndef __CROS_EC_SB_RMI_H
+#define __CROS_EC_SB_RMI_H
+
+#include "common.h"
+
+#define SB_RMI_OUT_BND_MSG0_REG 0x30
+#define SB_RMI_OUT_BND_MSG1_REG 0x31
+#define SB_RMI_OUT_BND_MSG2_REG 0x32
+#define SB_RMI_OUT_BND_MSG3_REG 0x33
+#define SB_RMI_OUT_BND_MSG4_REG 0x34
+#define SB_RMI_OUT_BND_MSG5_REG 0x35
+#define SB_RMI_OUT_BND_MSG6_REG 0x36
+#define SB_RMI_OUT_BND_MSG7_REG 0x37
+
+#define SB_RMI_IN_BND_MSG0_REG 0x38
+#define SB_RMI_IN_BND_MSG1_REG 0x39
+#define SB_RMI_IN_BND_MSG2_REG 0x3a
+#define SB_RMI_IN_BND_MSG3_REG 0x3b
+#define SB_RMI_IN_BND_MSG4_REG 0x3c
+#define SB_RMI_IN_BND_MSG5_REG 0x3d
+#define SB_RMI_IN_BND_MSG6_REG 0x3e
+#define SB_RMI_IN_BND_MSG7_REG 0x3f
+
+#define SB_RMI_SW_INTR_REG 0x40
+#define SB_RMI_STATUS_REG 0x02
+
+#define SB_RMI_WRITE_STT_SENSOR_CMD 0x3A
+
+#define SB_RMI_MAILBOX_SUCCESS 0x0
+#define SB_RMI_MAILBOX_ERROR_ABORTED 0x1
+#define SB_RMI_MAILBOX_ERROR_UNKNOWN_CMD 0x2
+#define SB_RMI_MAILBOX_ERROR_INVALID_CORE 0x3
+
+/* Socket ID 0 */
+#define SB_RMI_I2C_ADDR_FLAGS0 0x3c
+/* Socket ID 1 */
+#define SB_RMI_I2C_ADDR_FLAGS1 0x30
+
+/**
+ * Execute a SB-RMI mailbox transaction
+ *
+ * cmd:
+ * See "SB-RMI Soft Mailbox Message" table in PPR for command id
+ * msg_in:
+ * Message In buffer
+ * msg_out:
+ * Message Out buffer
+ */
+int sb_rmi_mailbox_xfer(int cmd, uint32_t msg_in, uint32_t *msg_out_ptr);
+
+#endif /* __CROS_EC_SB_RMI_H */