summaryrefslogtreecommitdiff
path: root/include/scmi_agent-uclass.h
diff options
context:
space:
mode:
authorAKASHI Takahiro <[email protected]>2023-10-11 19:06:58 +0900
committerTom Rini <[email protected]>2023-10-13 16:59:23 -0400
commit55de62baa1119e8a88e9bfc78705ebff498b0e88 (patch)
tree83bd5dcae231007d6d998073635dc023d01893eb /include/scmi_agent-uclass.h
parentbb8079ae386fdf06f8f2c5162639c8e7460ba379 (diff)
firmware: scmi: framework for installing additional protocols
This framework allows SCMI protocols to be installed and bound to the agent so that the agent can manage and utilize them later. Signed-off-by: AKASHI Takahiro <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
Diffstat (limited to 'include/scmi_agent-uclass.h')
-rw-r--r--include/scmi_agent-uclass.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/scmi_agent-uclass.h b/include/scmi_agent-uclass.h
index eee46c880a5..258aa0f3759 100644
--- a/include/scmi_agent-uclass.h
+++ b/include/scmi_agent-uclass.h
@@ -5,11 +5,24 @@
#ifndef _SCMI_AGENT_UCLASS_H
#define _SCMI_AGENT_UCLASS_H
-struct udevice;
+#include <dm/device.h>
+
struct scmi_msg;
struct scmi_channel;
/**
+ * struct scmi_agent_priv - private data maintained by agent instance
+ * @clock_dev: SCMI clock protocol device
+ * @resetdom_dev: SCMI reset domain protocol device
+ * @voltagedom_dev: SCMI voltage domain protocol device
+ */
+struct scmi_agent_priv {
+ struct udevice *clock_dev;
+ struct udevice *resetdom_dev;
+ struct udevice *voltagedom_dev;
+};
+
+/**
* struct scmi_transport_ops - The functions that a SCMI transport layer must implement.
*/
struct scmi_agent_ops {