summaryrefslogtreecommitdiff
path: root/include/scmi_nxp_protocols.h
diff options
context:
space:
mode:
authorPeng Fan <[email protected]>2025-10-17 17:32:34 +0800
committerTom Rini <[email protected]>2025-10-24 13:47:50 -0600
commitac9b02dd1028d14b6326970c93dfc3c50daa16f1 (patch)
tree1bffd9388bcc9856cb9451c2034ef18158f356b3 /include/scmi_nxp_protocols.h
parent3f20ea3675c466ab16761c9b280e6c382bae02c3 (diff)
firmware: scmi: Add i.MX95 SCMI CPU Protocol
This protocol allows an agent to start, stop a CPU or set reset vector. It is used to manage auxiliary CPUs in an LM (e.g. additional cores in an AP cluster). Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Alice Guo <[email protected]>
Diffstat (limited to 'include/scmi_nxp_protocols.h')
-rw-r--r--include/scmi_nxp_protocols.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/scmi_nxp_protocols.h b/include/scmi_nxp_protocols.h
index 1c79bc2282b..c17f3663eba 100644
--- a/include/scmi_nxp_protocols.h
+++ b/include/scmi_nxp_protocols.h
@@ -10,6 +10,7 @@
#include <linux/bitops.h>
#define SCMI_PROTOCOL_ID_IMX_LMM 0x80
+#define SCMI_PROTOCOL_ID_IMX_CPU 0x82
#define SCMI_PROTOCOL_ID_IMX_MISC 0x84
#define SCMI_PAYLOAD_LEN 100
@@ -95,4 +96,27 @@ static inline int scmi_imx_lmm_shutdown(struct udevice *dev, u32 lmid, bool flag
return -EOPNOTSUPP;
}
#endif
+
+#if IS_ENABLED(CONFIG_IMX_SM_CPU)
+int scmi_imx_cpu_started(struct udevice *dev, u32 cpuid, bool *started);
+int scmi_imx_cpu_reset_vector_set(struct udevice *dev, u32 cpuid, u32 flags, u64 vector,
+ bool start, bool boot, bool resume);
+int scmi_imx_cpu_start(struct udevice *dev, u32 cpuid, bool start);
+#else
+static inline int scmi_imx_cpu_started(struct udevice *dev, u32 cpuid, bool *started)
+{
+ return -EOPNOTSUPP;
+}
+
+static inline int scmi_imx_cpu_reset_vector_set(struct udevice *dev, u32 cpuid, u32 flags,
+ u64 vector, bool start, bool boot, bool resume)
+{
+ return -EOPNOTSUPP;
+}
+
+static inline int scmi_imx_cpu_start(struct udevice *dev, u32 cpuid, bool start)
+{
+ return -EOPNOTSUPP;
+}
+#endif
#endif