|
Zephyr Project API 4.3.99
A Scalable Open Source RTOS
|
Header file for the SCMI Clock Protocol. More...
#include <zephyr/drivers/firmware/scmi/protocol.h>Go to the source code of this file.
Data Structures | |
| struct | scmi_clock_config |
| Describes the parameters for the CLOCK_CONFIG_SET command. More... | |
| struct | scmi_clock_rate_config |
| Describes the parameters for the CLOCK_RATE_SET command. More... | |
Macros | |
| #define | SCMI_CLK_CONFIG_DISABLE_ENABLE_MASK GENMASK(1, 0) |
| #define | SCMI_CLK_CONFIG_ENABLE_DISABLE(x) |
| #define | SCMI_CLK_ATTRIBUTES_CLK_NUM(x) |
| #define | SCMI_CLK_RATE_SET_FLAGS_ASYNC BIT(0) |
| #define | SCMI_CLK_RATE_SET_FLAGS_IGNORE_DELEAYED_RESP BIT(1) |
| #define | SCMI_CLK_RATE_SET_FLAGS_ROUNDS_UP_DOWN BIT(2) |
| #define | SCMI_CLK_RATE_SET_FLAGS_ROUNDS_AUTO BIT(3) |
| #define | SCMI_CLK_PROTOCOL_SUPPORTED_VERSION 0x30000 |
Enumerations | |
| enum | scmi_clock_message { SCMI_CLK_MSG_PROTOCOL_VERSION = 0x0 , SCMI_CLK_MSG_PROTOCOL_ATTRIBUTES = 0x1 , SCMI_CLK_MSG_PROTOCOL_MESSAGE_ATTRIBUTES = 0x2 , SCMI_CLK_MSG_CLOCK_ATTRIBUTES = 0x3 , SCMI_CLK_MSG_CLOCK_DESCRIBE_RATES = 0x4 , SCMI_CLK_MSG_CLOCK_RATE_SET = 0x5 , SCMI_CLK_MSG_CLOCK_RATE_GET = 0x6 , SCMI_CLK_MSG_CLOCK_CONFIG_SET = 0x7 , SCMI_CLK_MSG_CLOCK_NAME_GET = 0x8 , SCMI_CLK_MSG_CLOCK_RATE_NOTIFY = 0x9 , SCMI_CLK_MSG_CLOCK_RATE_CHANGE_REQUESTED_NOTIFY = 0xa , SCMI_CLK_MSG_CLOCK_CONFIG_GET = 0xb , SCMI_CLK_MSG_CLOCK_POSSIBLE_PARENTS_GET = 0xc , SCMI_CLK_MSG_CLOCK_PARENT_SET = 0xd , SCMI_CLK_MSG_CLOCK_PARENT_GET = 0xe , SCMI_CLK_MSG_CLOCK_GET_PERMISSIONS = 0xf , SCMI_CLK_MSG_NEGOTIATE_PROTOCOL_VERSION = 0x10 } |
| Clock protocol command message IDs. More... | |
Functions | |
| int | scmi_clock_protocol_attributes (struct scmi_protocol *proto, uint32_t *attributes) |
| Send the PROTOCOL_ATTRIBUTES command and get its reply. | |
| int | scmi_clock_config_set (struct scmi_protocol *proto, struct scmi_clock_config *cfg) |
| Send the CLOCK_CONFIG_SET command and get its reply. | |
| int | scmi_clock_rate_get (struct scmi_protocol *proto, uint32_t clk_id, uint32_t *rate) |
| Query the rate of a clock. | |
| int | scmi_clock_rate_set (struct scmi_protocol *proto, struct scmi_clock_rate_config *cfg) |
| Send the CLOCK_RATE_SET command and get its reply. | |
| int | scmi_clock_parent_get (struct scmi_protocol *proto, uint32_t clk_id, uint32_t *parent_id) |
| Query the parent of a clock. | |
| int | scmi_clock_parent_set (struct scmi_protocol *proto, uint32_t clk_id, uint32_t parent_id) |
| Send the CLOCK_PARENT_SET command and get its reply. | |
Header file for the SCMI Clock Protocol.