diff options
| author | Ranbir Singh <ranbir.singh@oss.qualcomm.com> | 2026-02-25 11:43:47 +0530 |
|---|---|---|
| committer | Anup Patel <anup@brainfault.org> | 2026-04-06 18:23:25 +0530 |
| commit | 0b041e58c0787f76325da5081e41a13bf304d328 (patch) | |
| tree | f760e8ec16deb744945120e1cc53a2c58efaa6a6 /include | |
| parent | 2bf0de88c8897ff4be5b89c04115c17421ad5687 (diff) | |
| download | opensbi-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.h | 37 |
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__ */ |
