aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRanbir Singh <ranbir.singh@oss.qualcomm.com>2026-02-25 11:43:47 +0530
committerAnup Patel <anup@brainfault.org>2026-04-06 18:23:25 +0530
commit0b041e58c0787f76325da5081e41a13bf304d328 (patch)
treef760e8ec16deb744945120e1cc53a2c58efaa6a6 /include
parent2bf0de88c8897ff4be5b89c04115c17421ad5687 (diff)
downloadopensbi-0b041e58c0787f76325da5081e41a13bf304d328.tar.gz
opensbi-0b041e58c0787f76325da5081e41a13bf304d328.tar.bz2
opensbi-0b041e58c0787f76325da5081e41a13bf304d328.zip
lib: utils: Add MPXY client driver for RPMI MM service group
Add necessary infra for implementing RPMI Management Mode service group on platform microcontroller. Co-authored-by: Sunil V L <sunilvl@oss.qualcomm.com> Signed-off-by: Ranbir Singh <ranbir.singh@oss.qualcomm.com> Reviewed-by: Anup Patel <anup@brainfault.org> Link: https://lore.kernel.org/r/20260225061347.1396504-1-ranbir.singh@oss.qualcomm.com Signed-off-by: Anup Patel <anup@brainfault.org>
Diffstat (limited to 'include')
-rw-r--r--include/sbi_utils/mailbox/rpmi_msgprot.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/sbi_utils/mailbox/rpmi_msgprot.h b/include/sbi_utils/mailbox/rpmi_msgprot.h
index f8b16753..c35788f0 100644
--- a/include/sbi_utils/mailbox/rpmi_msgprot.h
+++ b/include/sbi_utils/mailbox/rpmi_msgprot.h
@@ -220,6 +220,7 @@ enum rpmi_servicegroup_id {
RPMI_SRVGRP_CLOCK = 0x0008,
RPMI_SRVGRP_DEVICE_POWER = 0x0009,
RPMI_SRVGRP_PERFORMANCE = 0x0000A,
+ RPMI_SRVGRP_MANAGEMENT_MODE = 0x000B,
RPMI_SRVGRP_ID_MAX_COUNT,
/* Reserved range for service groups */
@@ -947,4 +948,40 @@ struct rpmi_perf_get_fast_chn_attr_resp {
u32 db_perserved_high;
};
+/** RPMI MM ServiceGroup Service IDs */
+enum rpmi_mm_service_id {
+ RPMI_MM_SRV_ENABLE_NOTIFICATION = 0x01,
+ RPMI_MM_SRV_GET_ATTRIBUTES = 0x02,
+ RPMI_MM_SRV_COMMUNICATE = 0x03,
+ RPMI_MM_SRV_MAX_COUNT,
+};
+
+/** RPMI MM ServiceGroup Get Attributes main struct */
+struct rpmi_mm_attributes {
+ u32 mm_version;
+ u32 shmem_addr_lo;
+ u32 shmem_addr_hi;
+ u32 shmem_size;
+};
+
+/** RPMI MM ServiceGroup Get Attributes response struct */
+struct rpmi_mm_get_attributes_rsp {
+ s32 status;
+ struct rpmi_mm_attributes mma;
+};
+
+/** RPMI MM ServiceGroup Communicate request struct */
+struct rpmi_mm_communicate_req {
+ u32 mm_comm_ipdata_off;
+ u32 mm_comm_ipdata_size;
+ u32 mm_comm_opdata_off;
+ u32 mm_comm_opdata_size;
+};
+
+/** RPMI MM ServiceGroup Communicate response struct */
+struct rpmi_mm_communicate_rsp {
+ s32 status;
+ u32 mm_comm_retdata_size;
+};
+
#endif /* !__RPMI_MSGPROT_H__ */