From 0b041e58c0787f76325da5081e41a13bf304d328 Mon Sep 17 00:00:00 2001 From: Ranbir Singh Date: Wed, 25 Feb 2026 11:43:47 +0530 Subject: 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 Signed-off-by: Ranbir Singh Reviewed-by: Anup Patel Link: https://lore.kernel.org/r/20260225061347.1396504-1-ranbir.singh@oss.qualcomm.com Signed-off-by: Anup Patel --- include/sbi_utils/mailbox/rpmi_msgprot.h | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'include') 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__ */ -- cgit v1.3.1