19.08.2025 10:33, Kamlesh Gurudasani wrote:
Clock version 3.0 specified in ARM SCMI Platform design document
v3.2, adds extended_config_val parameter in CLOCK_CONFIG_SET.
The SCMI server with clock version 3.0 rejects the message if
they don't have this field.
Add support so that both SCMI server with clock version 2.0 and 3.0
can be handled.
Signed-off-by: Kamlesh Gurudasani <kaml...@ti.com>
---
drivers/clk/clk_scmi.c | 43 ++++++++++++++++++++++++++++++-------------
include/scmi_protocols.h | 6 ++++++
2 files changed, 36 insertions(+), 13 deletions(-)
diff --git a/drivers/clk/clk_scmi.c b/drivers/clk/clk_scmi.c
index 83ea7bb4286..b33cc05685d 100644
--- a/drivers/clk/clk_scmi.c
+++ b/drivers/clk/clk_scmi.c
@@ -131,19 +131,36 @@ static int scmi_clk_get_attibute(struct udevice *dev, int
clkid, char **name,
static int scmi_clk_gate(struct clk *clk, int enable)
{
- struct scmi_clk_state_in in = {
- .clock_id = clk_get_id(clk),
- .attributes = enable,
- };
+ struct scmi_clock_priv *priv = dev_get_priv(clk->dev);
struct scmi_clock_priv *priv = dev_get_priv(clk->dev->parent);
struct scmi_clk_state_out out;
- struct scmi_msg msg = SCMI_MSG_IN(SCMI_PROTOCOL_ID_CLOCK,
- SCMI_CLOCK_CONFIG_SET,
- in, out);