AM62L FreeRTOS SDK  11.00.00
scmi_protocol.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2025 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef SCMI_PROTOCOL_H
34 #define SCMI_PROTOCOL_H
35 
36 /* ========================================================================== */
37 /* Include Files */
38 /* ========================================================================== */
39 
40 #include <stdint.h>
41 
42 /* ========================================================================== */
43 /* Macros & Typedefs */
44 /* ========================================================================== */
45 
46 #define SCMI_PROTOCOL_VENDOR_BASE 0x80
47 
48 #define SCMI_MAX_STR_SIZE 64U
49 #define SCMI_MAX_NUM_RATES 16U
50 
51 #define SCMI_BASE_PROTOCOL_VERSION 0x20000U
52 #define SCMI_BASE_NAME_LENGTH_MAX 16U
53 #define SCMI_BASE_MAX_NUM_PROTOCOLS 10U
54 
55 #define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (32 - 1 - (h))))
56 
57 #define SCMI_PROTOCOL_ATTRS_NUM_AGENTS(attributes) \
58  (((attributes) & GENMASK(15, 8)) >> 8)
59 #define SCMI_PROTOCOL_ATTRS_NUM_PROTOCOLS(attributes) \
60  ((attributes) & GENMASK(7, 0))
61 
62 
63 #define SCMI_PWD_POWER_STATE_ON (uint32_t)(0U << 30U)
64 #define SCMI_PWD_POWER_STATE_OFF (uint32_t)(1U << 30U)
65 
66 #define SCMI_PWD_PROTOCOL_VERSION 0x30000
67 
68 #define SCMI_PWD_PSTATE_TYPE_LOST (1U << 30)
69 #define SCMI_PWD_PSTATE_ID GENMASK(27, 0)
70 #define SCMI_PWD_PROTO_ATTRS_NUM_PWD(attributes) ((attributes) & \
71  GENMASK(15, 0))
72 #define SCMI_PWD_SHORT_NAME_SIZE 16
73 #define SCMI_PWD_NAME_LENGTH_MAX 64
74 #define SCMI_PWD_SET_FLAGS_ASYNC (1U << 0)
75 #define SCMI_PWD_ATTR_PSTATE_CHANGE_NOTIFY (1U << 31)
76 #define SCMI_PWD_ATTR_PSTATE_ASYNC (1U << 30)
77 #define SCMI_PWD_ATTR_PSTATE_SYNC (1U << 29)
78 #define SCMI_PWD_ATTR_PSTATE_CHANGE_RQ_NOTIFY (1U << 28)
79 #define SCMI_PWD_ATTR_EXTENDED_NAME (1U << 27)
80 #define SCMI_PWD_EXTENDED_NAME_MAX 64U
81 
82 #define SCMI_CLK_PROTO_ATTR_COUNT_MASK GENMASK(15, 0)
83 
84 #define SCMI_CLK_ATTR_RATE_CHANGED_NOTIFY (1U << 31)
85 #define SCMI_CLK_ATTR_RATE_CHANGE_REQUESTED_NOTIFY (1U << 30)
86 #define SCMI_CLK_ATTR_EXTENDED_NAMES (1U << 29)
87 #define SCMI_CLK_ATTR_PARENT_CLOCK (1U << 28)
88 #define SCMI_CLK_ATTR_EXTENDED_CONFIG (1U << 28)
89 #define SCMI_CLK_ATTR_GET_PERMISSIONS (1U << 1)
90 
91 #define SCMI_CLK_RATE_ASYNC_NOTIFY (1U << 0)
92 #define SCMI_CLK_RATE_ASYNC_NORESP ((1U << 0U)) | (1U << 1U))
93 #define SCMI_CLK_RATE_ROUND_DOWN 0
94 #define SCMI_CLK_RATE_ROUND_UP (1U << 2)
95 #define SCMI_CLK_RATE_ROUND_CLOSEST (1U << 3)
96 
97 #define SCMI_CLK_SHORT_NAME_SIZE 16
98 #define SCMI_CLK_NAME_LENGTH_MAX 64
99 
100 #define SCMI_CLK_CONFIG_SET_ENABLE (1U << 0)
101 #define SCMI_CLK_CONFIG_SET_DISABLE (0U)
102 
103 #define SCMI_CLK_POSSIBLE_PARENTS_MASK 255U
104 #define SCMI_CLK_POSSIBLE_PARENTS_NUM_PARENTS_RECV(x) ((x) & (uint32_t)0xFF)
105 #define SCMI_CLK_POSSIBLE_PARENTS_NUM_PARENTS_REM(x) ((x) >> 24)
106 
107 /* ========================================================================== */
108 /* Structure Declarations */
109 /* ========================================================================== */
110 
111 typedef enum
112 {
118 
119 typedef enum
120 {
132 
133 typedef enum
134 {
141  SCMI_BUSY = -6,
147 
148 /*
149  * SCMI Base Protocol
150  */
151 typedef enum
152 {
163 
168 typedef struct
169 {
170  int32_t status;
172  uint32_t version;
175 
179 typedef struct
180 {
181  int32_t status;
183  uint32_t attributes;
186 
190 typedef struct
191 {
192  int32_t status;
194  uint32_t attributes;
197 
202 typedef struct
203 {
204  int32_t status;
206  uint8_t vendorIdentifier[SCMI_BASE_NAME_LENGTH_MAX];
209 
213 typedef struct
214 {
215  int32_t status;
217  uint32_t implVersion;
220 
224 typedef struct
225 {
226  int32_t status;
228  uint32_t numProtocols;
230  uint32_t protocols[SCMI_BASE_MAX_NUM_PROTOCOLS];
233 
234 /*
235  * SCMI Power Domain Management Protocol
236  */
237 typedef enum
238 {
246 
247 typedef struct
248 {
249  int32_t status;
251  uint32_t attributes;
253  uint32_t statsAddrLow;
255  uint32_t statsAddrHigh;
257  uint32_t statsLen;
260 
261 typedef struct
262 {
263  int32_t status;
265  uint32_t attributes;
268 
269 typedef struct
270 {
271  int32_t status;
273  uint32_t attributes;
278 
279 typedef struct
280 {
281  uint32_t flags;
283  uint32_t domainId;
285  uint32_t pstate;
288 
289 typedef struct
290 {
291  int32_t status;
293  uint32_t pstate;
296 
297 typedef struct
298 {
299  int32_t status;
301  uint32_t flags;
303  uint8_t extendedName[SCMI_PWD_EXTENDED_NAME_MAX];
306 
307 /*
308  * SCMI Clock Protocol
309  */
310 
311 typedef enum
312 {
323 
324 typedef struct
325 {
326  int32_t status;
328  uint32_t attributes;
331 
332 typedef struct
333 {
334  int32_t status;
336  uint32_t attributes;
338  char clockName[SCMI_CLK_NAME_LENGTH_MAX];
341 
342 typedef struct
343 {
344  uint32_t clockId;
346  uint32_t attributes;
349 
350 typedef struct
351 {
352  uint32_t clockId;
354  uint32_t flags;
357 
358 typedef struct
359 {
360  int32_t status;
362  uint32_t attributes;
364  uint32_t config;
367 
368 typedef struct
369 {
370  int32_t status;
372  uint32_t flags;
374  char clockName[SCMI_CLK_NAME_LENGTH_MAX];
377 
378 typedef struct
379 {
380  int32_t status;
382  uint32_t clockRateLSB;
384  uint32_t clockRateMSB;
385  /*< 32bit MSB of the clock rate in Hertz*/
387 
388 typedef struct
389 {
390  uint32_t flags;
392  uint32_t clockId;
394  uint32_t clockRateLSB;
395  /*< 32bit LSB of the clock rate in Hertz*/
396  uint32_t clockRateMSB;
397  /*< 32bit MSB of the clock rate in Hertz*/
399 
400 typedef struct
401 {
402  uint32_t clockId;
404  uint32_t parentId;
407 
408 typedef struct
409 {
410  int32_t status;
412  uint32_t parentId;
415 
416 typedef struct
417 {
418  int32_t status;
420  uint32_t numParentsFlags;
422  uint32_t possibleParents[SCMI_CLK_POSSIBLE_PARENTS_MASK];
425 
426 typedef struct
427 {
428  uint32_t clockId;
430  uint32_t skipParents;
433 
434 /* ========================================================================== */
435 /* Internal/Private Function Declarations */
436 /* ========================================================================== */
437 
438 /* None */
439 
440 /* ========================================================================== */
441 /* Function Declarations */
442 /* ========================================================================== */
443 
444 /* None */
445 
446 #endif
447 
SCMI_BaseDiscoverImplementationVersionData::status
int32_t status
Definition: scmi_protocol.h:215
SCMI_BaseDiscoverListProtocolsData::status
int32_t status
Definition: scmi_protocol.h:226
SCMI_CLOCK_ATTRIBUTES
@ SCMI_CLOCK_ATTRIBUTES
Definition: scmi_protocol.h:313
SCMI_CLOCK_RATE_SET
@ SCMI_CLOCK_RATE_SET
Definition: scmi_protocol.h:314
SCMI_StandardProtocol
SCMI_StandardProtocol
Definition: scmi_protocol.h:120
SCMI_PROTOCOL_SYSTEM
@ SCMI_PROTOCOL_SYSTEM
Definition: scmi_protocol.h:123
SCMI_BASE_SET_PROTOCOL_PERMISSIONS
@ SCMI_BASE_SET_PROTOCOL_PERMISSIONS
Definition: scmi_protocol.h:160
SCMI_GENERIC_ERROR
@ SCMI_GENERIC_ERROR
Definition: scmi_protocol.h:143
SCMI_ClockAttributeOut::status
int32_t status
Definition: scmi_protocol.h:334
SCMI_ProtocolVersionData
SCMI_ProtocolVersionData - Response for SCMI_PROTOCOL_VERSION command.
Definition: scmi_protocol.h:169
SCMI_CLOCK_PARENT_SET
@ SCMI_CLOCK_PARENT_SET
Definition: scmi_protocol.h:320
SCMI_PWD_STATE_NOTIFY
@ SCMI_PWD_STATE_NOTIFY
Definition: scmi_protocol.h:242
SCMI_ClockStateGetIn
Definition: scmi_protocol.h:351
SCMI_BASE_DISCOVER_IMPL_VERSION
@ SCMI_BASE_DISCOVER_IMPL_VERSION
Definition: scmi_protocol.h:155
SCMI_PROTOCOL_VOLTAGE
@ SCMI_PROTOCOL_VOLTAGE
Definition: scmi_protocol.h:128
SCMI_ClockStateGetOut::status
int32_t status
Definition: scmi_protocol.h:360
SCMI_ClockGetPossibleParentsIn::clockId
uint32_t clockId
Definition: scmi_protocol.h:428
SCMI_PowerDomainStateSetInput::domainId
uint32_t domainId
Definition: scmi_protocol.h:283
SCMI_PROTOCOL_ATTRIBUTES
@ SCMI_PROTOCOL_ATTRIBUTES
Definition: scmi_protocol.h:114
SCMI_DENIED
@ SCMI_DENIED
Definition: scmi_protocol.h:138
SCMI_ClockParentGetOut
Definition: scmi_protocol.h:409
SCMI_PdProtocolMessageAttrs
Definition: scmi_protocol.h:262
SCMI_CLOCK_CONFIG_SET
@ SCMI_CLOCK_CONFIG_SET
Definition: scmi_protocol.h:316
SCMI_PROTOCOL_CLOCK
@ SCMI_PROTOCOL_CLOCK
Definition: scmi_protocol.h:125
SCMI_NOT_SUPPORTED
@ SCMI_NOT_SUPPORTED
Definition: scmi_protocol.h:136
SCMI_ClockStateGetOut::attributes
uint32_t attributes
Definition: scmi_protocol.h:362
SCMI_SUCCESS
@ SCMI_SUCCESS
Definition: scmi_protocol.h:135
SCMI_BaseDiscoverListProtocolsData::numProtocols
uint32_t numProtocols
Definition: scmi_protocol.h:228
SCMI_BASE_MAX_NUM_PROTOCOLS
#define SCMI_BASE_MAX_NUM_PROTOCOLS
Definition: scmi_protocol.h:53
SCMI_ClockAttributeOut
Definition: scmi_protocol.h:333
SCMI_PowerDomainStateGetOut::pstate
uint32_t pstate
Definition: scmi_protocol.h:293
SCMI_ClockProtocolAttrsOut::status
int32_t status
Definition: scmi_protocol.h:326
SCMI_ClockRateGetOut::clockRateMSB
uint32_t clockRateMSB
Definition: scmi_protocol.h:384
SCMI_PROTOCOL_SENSOR
@ SCMI_PROTOCOL_SENSOR
Definition: scmi_protocol.h:126
SCMI_PWD_STATE_SET
@ SCMI_PWD_STATE_SET
Definition: scmi_protocol.h:240
SCMI_ClockAttributeOut::attributes
uint32_t attributes
Definition: scmi_protocol.h:336
SCMI_PROTOCOL_PERF
@ SCMI_PROTOCOL_PERF
Definition: scmi_protocol.h:124
SCMI_ClockProtocolAttrsOut::attributes
uint32_t attributes
Definition: scmi_protocol.h:328
SCMI_ClockNameGetOut::flags
uint32_t flags
Definition: scmi_protocol.h:372
SCMI_NEGOTIATE_PROTOCOL_VERSION
@ SCMI_NEGOTIATE_PROTOCOL_VERSION
Definition: scmi_protocol.h:116
SCMI_ProtocolMessageAttributesData::status
int32_t status
Definition: scmi_protocol.h:192
SCMI_PdProtocolMessageAttrs::status
int32_t status
Definition: scmi_protocol.h:263
SCMI_HARDWARE_ERROR
@ SCMI_HARDWARE_ERROR
Definition: scmi_protocol.h:144
SCMI_StatusCode
SCMI_StatusCode
Definition: scmi_protocol.h:134
SCMI_ClockGetPossibleParentsOut::status
int32_t status
Definition: scmi_protocol.h:418
SCMI_PWD_ATTRIBUTES
@ SCMI_PWD_ATTRIBUTES
Definition: scmi_protocol.h:239
SCMI_ClockGetPossibleParentsIn::skipParents
uint32_t skipParents
Definition: scmi_protocol.h:430
SCMI_PowerDomainNameGetOut::flags
uint32_t flags
Definition: scmi_protocol.h:301
SCMI_PowerDomainMessageId
SCMI_PowerDomainMessageId
Definition: scmi_protocol.h:238
SCMI_ClockRateSetIn
Definition: scmi_protocol.h:389
SCMI_ClockNameGetOut::status
int32_t status
Definition: scmi_protocol.h:370
SCMI_ClockRateSetIn::clockId
uint32_t clockId
Definition: scmi_protocol.h:392
SCMI_PdProtocolMessageAttrs::attributes
uint32_t attributes
Definition: scmi_protocol.h:265
SCMI_ClockGetPossibleParentsOut
Definition: scmi_protocol.h:417
SCMI_PowerDomainAttrsOutData
Definition: scmi_protocol.h:270
SCMI_ClockRateSetIn::flags
uint32_t flags
Definition: scmi_protocol.h:390
SCMI_ProtocolMessageAttributesData::attributes
uint32_t attributes
Definition: scmi_protocol.h:194
SCMI_BaseMessageCommand
SCMI_BaseMessageCommand
Definition: scmi_protocol.h:152
SCMI_BUSY
@ SCMI_BUSY
Definition: scmi_protocol.h:141
SCMI_INVALID_PARAMETERS
@ SCMI_INVALID_PARAMETERS
Definition: scmi_protocol.h:137
SCMI_CLK_NAME_LENGTH_MAX
#define SCMI_CLK_NAME_LENGTH_MAX
Definition: scmi_protocol.h:98
SCMI_ClockStateIn
Definition: scmi_protocol.h:343
SCMI_ProtocolAttributesData
Response for SCMI_PROTOCOL_ATTRIBUTES.
Definition: scmi_protocol.h:180
SCMI_CLOCK_RATE_GET
@ SCMI_CLOCK_RATE_GET
Definition: scmi_protocol.h:315
SCMI_CLOCK_POSSIBLE_PARENTS_GET
@ SCMI_CLOCK_POSSIBLE_PARENTS_GET
Definition: scmi_protocol.h:319
SCMI_PROTOCOL_VERSION
@ SCMI_PROTOCOL_VERSION
Definition: scmi_protocol.h:113
SCMI_BASE_DISCOVER_LIST_PROTOCOLS
@ SCMI_BASE_DISCOVER_LIST_PROTOCOLS
Definition: scmi_protocol.h:156
SCMI_CLOCK_PARENT_GET
@ SCMI_CLOCK_PARENT_GET
Definition: scmi_protocol.h:321
SCMI_ClockStateIn::clockId
uint32_t clockId
Definition: scmi_protocol.h:344
SCMI_ClockStateGetIn::flags
uint32_t flags
Definition: scmi_protocol.h:354
SCMI_ClockParentSetIn::parentId
uint32_t parentId
Definition: scmi_protocol.h:404
SCMI_PROTOCOL_RESET
@ SCMI_PROTOCOL_RESET
Definition: scmi_protocol.h:127
SCMI_ClockRateSetIn::clockRateMSB
uint32_t clockRateMSB
Definition: scmi_protocol.h:396
SCMI_BASE_NAME_LENGTH_MAX
#define SCMI_BASE_NAME_LENGTH_MAX
Definition: scmi_protocol.h:52
SCMI_OUT_OF_RANGE
@ SCMI_OUT_OF_RANGE
Definition: scmi_protocol.h:140
SCMI_PowerDomainAttrsOutData::status
int32_t status
Definition: scmi_protocol.h:271
SCMI_PowerDomainNameGetOut
Definition: scmi_protocol.h:298
SCMI_ProtocolMessageAttributesData
Response for SCMI_PROTOCOL_MESSAGE_ATTRIBUTES command.
Definition: scmi_protocol.h:191
SCMI_ClockRateSetIn::clockRateLSB
uint32_t clockRateLSB
Definition: scmi_protocol.h:394
SCMI_BASE_NOTIFY_ERRORS
@ SCMI_BASE_NOTIFY_ERRORS
Definition: scmi_protocol.h:158
SCMI_ClockRateGetOut::clockRateLSB
uint32_t clockRateLSB
Definition: scmi_protocol.h:382
SCMI_PWD_STATE_CHANGE_REQUESTED_NOTIFY
@ SCMI_PWD_STATE_CHANGE_REQUESTED_NOTIFY
Definition: scmi_protocol.h:243
SCMI_BASE_DISCOVER_AGENT
@ SCMI_BASE_DISCOVER_AGENT
Definition: scmi_protocol.h:157
SCMI_CommonCommand
SCMI_CommonCommand
Definition: scmi_protocol.h:112
SCMI_ProtocolVersionData::version
uint32_t version
Definition: scmi_protocol.h:172
SCMI_CLK_POSSIBLE_PARENTS_MASK
#define SCMI_CLK_POSSIBLE_PARENTS_MASK
Definition: scmi_protocol.h:103
SCMI_ClockParentGetOut::parentId
uint32_t parentId
Definition: scmi_protocol.h:412
SCMI_ClockStateGetIn::clockId
uint32_t clockId
Definition: scmi_protocol.h:352
SCMI_PdProtocolAttrs
Definition: scmi_protocol.h:248
SCMI_PWD_NAME_GET
@ SCMI_PWD_NAME_GET
Definition: scmi_protocol.h:244
SCMI_PROTOCOL_ERROR
@ SCMI_PROTOCOL_ERROR
Definition: scmi_protocol.h:145
SCMI_BASE_DISCOVER_VENDOR
@ SCMI_BASE_DISCOVER_VENDOR
Definition: scmi_protocol.h:153
SCMI_ClockProtocolAttrsOut
Definition: scmi_protocol.h:325
SCMI_PdProtocolAttrs::status
int32_t status
Definition: scmi_protocol.h:249
SCMI_ClockStateGetOut
Definition: scmi_protocol.h:359
SCMI_PowerDomainAttrsOutData::attributes
uint32_t attributes
Definition: scmi_protocol.h:273
SCMI_BASE_RESET_AGENT_CONFIGURATION
@ SCMI_BASE_RESET_AGENT_CONFIGURATION
Definition: scmi_protocol.h:161
SCMI_PROTOCOL_MESSAGE_ATTRIBUTES
@ SCMI_PROTOCOL_MESSAGE_ATTRIBUTES
Definition: scmi_protocol.h:115
SCMI_ClockRateGetOut::status
int32_t status
Definition: scmi_protocol.h:380
SCMI_PWD_NAME_LENGTH_MAX
#define SCMI_PWD_NAME_LENGTH_MAX
Definition: scmi_protocol.h:73
SCMI_PdProtocolAttrs::statsAddrHigh
uint32_t statsAddrHigh
Definition: scmi_protocol.h:255
SCMI_ClockStateGetOut::config
uint32_t config
Definition: scmi_protocol.h:364
SCMI_PROTOCOL_POWERCAP
@ SCMI_PROTOCOL_POWERCAP
Definition: scmi_protocol.h:129
SCMI_BaseDiscoverListProtocolsData
Response for SCMI_BASE_DISCOVER_LIST_PROTOCOLS command.
Definition: scmi_protocol.h:225
SCMI_BaseDiscoverVendorOut
Response for SCMI_BASE_DISCOVER_VENDOR or SCMI_BASE_DISCOVER_SUB_VENDOR command.
Definition: scmi_protocol.h:203
SCMI_PWD_STATE_GET
@ SCMI_PWD_STATE_GET
Definition: scmi_protocol.h:241
SCMI_PowerDomainStateGetOut
Definition: scmi_protocol.h:290
SCMI_PROTOCOL_PINCTRL
@ SCMI_PROTOCOL_PINCTRL
Definition: scmi_protocol.h:130
SCMI_BaseDiscoverImplementationVersionData::implVersion
uint32_t implVersion
Definition: scmi_protocol.h:217
SCMI_PowerDomainNameGetOut::status
int32_t status
Definition: scmi_protocol.h:299
SCMI_ClockStateIn::attributes
uint32_t attributes
Definition: scmi_protocol.h:346
SCMI_PROTOCOL_BASE
@ SCMI_PROTOCOL_BASE
Definition: scmi_protocol.h:121
SCMI_PowerDomainStateSetInput::flags
uint32_t flags
Definition: scmi_protocol.h:281
SCMI_BaseDiscoverImplementationVersionData
Response for SCMI_BASE_DISCOVER_IMPL_VERSION command.
Definition: scmi_protocol.h:214
SCMI_ClockParentSetIn
Definition: scmi_protocol.h:401
SCMI_CLOCK_CONFIG_GET
@ SCMI_CLOCK_CONFIG_GET
Definition: scmi_protocol.h:318
SCMI_PowerDomainStateSetInput::pstate
uint32_t pstate
Definition: scmi_protocol.h:285
SCMI_PowerDomainStateSetInput
Definition: scmi_protocol.h:280
SCMI_ProtocolAttributesData::attributes
uint32_t attributes
Definition: scmi_protocol.h:183
SCMI_ProtocolVersionData::status
int32_t status
Definition: scmi_protocol.h:170
SCMI_ClockRateGetOut
Definition: scmi_protocol.h:379
SCMI_PdProtocolAttrs::statsAddrLow
uint32_t statsAddrLow
Definition: scmi_protocol.h:253
SCMI_BASE_DISCOVER_SUB_VENDOR
@ SCMI_BASE_DISCOVER_SUB_VENDOR
Definition: scmi_protocol.h:154
SCMI_ClockGetPossibleParentsIn
Definition: scmi_protocol.h:427
SCMI_PROTOCOL_POWER
@ SCMI_PROTOCOL_POWER
Definition: scmi_protocol.h:122
SCMI_NOT_FOUND
@ SCMI_NOT_FOUND
Definition: scmi_protocol.h:139
SCMI_ClockNameGetOut
Definition: scmi_protocol.h:369
SCMI_ClockParentSetIn::clockId
uint32_t clockId
Definition: scmi_protocol.h:402
SCMI_BASE_SET_DEVICE_PERMISSIONS
@ SCMI_BASE_SET_DEVICE_PERMISSIONS
Definition: scmi_protocol.h:159
SCMI_PdProtocolAttrs::statsLen
uint32_t statsLen
Definition: scmi_protocol.h:257
SCMI_ProtocolAttributesData::status
int32_t status
Definition: scmi_protocol.h:181
SCMI_PowerDomainStateGetOut::status
int32_t status
Definition: scmi_protocol.h:291
SCMI_ClockMessageId
SCMI_ClockMessageId
Definition: scmi_protocol.h:312
SCMI_ClockGetPossibleParentsOut::numParentsFlags
uint32_t numParentsFlags
Definition: scmi_protocol.h:420
SCMI_ClockParentGetOut::status
int32_t status
Definition: scmi_protocol.h:410
SCMI_BaseDiscoverVendorOut::status
int32_t status
Definition: scmi_protocol.h:204
SCMI_PWD_EXTENDED_NAME_MAX
#define SCMI_PWD_EXTENDED_NAME_MAX
Definition: scmi_protocol.h:80
SCMI_CLOCK_NAME_GET
@ SCMI_CLOCK_NAME_GET
Definition: scmi_protocol.h:317
SCMI_COMMS_ERROR
@ SCMI_COMMS_ERROR
Definition: scmi_protocol.h:142
SCMI_PdProtocolAttrs::attributes
uint32_t attributes
Definition: scmi_protocol.h:251