 |
AM62L FreeRTOS SDK
11.00.00
|
|
Go to the documentation of this file.
33 #ifndef SCMI_PROTOCOL_H
34 #define SCMI_PROTOCOL_H
46 #define SCMI_PROTOCOL_VENDOR_BASE 0x80
48 #define SCMI_MAX_STR_SIZE 64U
49 #define SCMI_MAX_NUM_RATES 16U
51 #define SCMI_BASE_PROTOCOL_VERSION 0x20000U
52 #define SCMI_BASE_NAME_LENGTH_MAX 16U
53 #define SCMI_BASE_MAX_NUM_PROTOCOLS 10U
55 #define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (32 - 1 - (h))))
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))
63 #define SCMI_PWD_POWER_STATE_ON (uint32_t)(0U << 30U)
64 #define SCMI_PWD_POWER_STATE_OFF (uint32_t)(1U << 30U)
66 #define SCMI_PWD_PROTOCOL_VERSION 0x30000
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) & \
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
82 #define SCMI_CLK_PROTO_ATTR_COUNT_MASK GENMASK(15, 0)
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)
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)
97 #define SCMI_CLK_SHORT_NAME_SIZE 16
98 #define SCMI_CLK_NAME_LENGTH_MAX 64
100 #define SCMI_CLK_CONFIG_SET_ENABLE (1U << 0)
101 #define SCMI_CLK_CONFIG_SET_DISABLE (0U)
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)
int32_t status
Definition: scmi_protocol.h:215
int32_t status
Definition: scmi_protocol.h:226
@ SCMI_CLOCK_ATTRIBUTES
Definition: scmi_protocol.h:313
@ SCMI_CLOCK_RATE_SET
Definition: scmi_protocol.h:314
SCMI_StandardProtocol
Definition: scmi_protocol.h:120
@ SCMI_PROTOCOL_SYSTEM
Definition: scmi_protocol.h:123
@ SCMI_BASE_SET_PROTOCOL_PERMISSIONS
Definition: scmi_protocol.h:160
@ SCMI_GENERIC_ERROR
Definition: scmi_protocol.h:143
int32_t status
Definition: scmi_protocol.h:334
SCMI_ProtocolVersionData - Response for SCMI_PROTOCOL_VERSION command.
Definition: scmi_protocol.h:169
@ SCMI_CLOCK_PARENT_SET
Definition: scmi_protocol.h:320
@ SCMI_PWD_STATE_NOTIFY
Definition: scmi_protocol.h:242
Definition: scmi_protocol.h:351
@ SCMI_BASE_DISCOVER_IMPL_VERSION
Definition: scmi_protocol.h:155
@ SCMI_PROTOCOL_VOLTAGE
Definition: scmi_protocol.h:128
int32_t status
Definition: scmi_protocol.h:360
uint32_t clockId
Definition: scmi_protocol.h:428
uint32_t domainId
Definition: scmi_protocol.h:283
@ SCMI_PROTOCOL_ATTRIBUTES
Definition: scmi_protocol.h:114
@ SCMI_DENIED
Definition: scmi_protocol.h:138
Definition: scmi_protocol.h:409
Definition: scmi_protocol.h:262
@ SCMI_CLOCK_CONFIG_SET
Definition: scmi_protocol.h:316
@ SCMI_PROTOCOL_CLOCK
Definition: scmi_protocol.h:125
@ SCMI_NOT_SUPPORTED
Definition: scmi_protocol.h:136
uint32_t attributes
Definition: scmi_protocol.h:362
@ SCMI_SUCCESS
Definition: scmi_protocol.h:135
uint32_t numProtocols
Definition: scmi_protocol.h:228
#define SCMI_BASE_MAX_NUM_PROTOCOLS
Definition: scmi_protocol.h:53
Definition: scmi_protocol.h:333
uint32_t pstate
Definition: scmi_protocol.h:293
int32_t status
Definition: scmi_protocol.h:326
uint32_t clockRateMSB
Definition: scmi_protocol.h:384
@ SCMI_PROTOCOL_SENSOR
Definition: scmi_protocol.h:126
@ SCMI_PWD_STATE_SET
Definition: scmi_protocol.h:240
uint32_t attributes
Definition: scmi_protocol.h:336
@ SCMI_PROTOCOL_PERF
Definition: scmi_protocol.h:124
uint32_t attributes
Definition: scmi_protocol.h:328
uint32_t flags
Definition: scmi_protocol.h:372
@ SCMI_NEGOTIATE_PROTOCOL_VERSION
Definition: scmi_protocol.h:116
int32_t status
Definition: scmi_protocol.h:192
int32_t status
Definition: scmi_protocol.h:263
@ SCMI_HARDWARE_ERROR
Definition: scmi_protocol.h:144
SCMI_StatusCode
Definition: scmi_protocol.h:134
int32_t status
Definition: scmi_protocol.h:418
@ SCMI_PWD_ATTRIBUTES
Definition: scmi_protocol.h:239
uint32_t skipParents
Definition: scmi_protocol.h:430
uint32_t flags
Definition: scmi_protocol.h:301
SCMI_PowerDomainMessageId
Definition: scmi_protocol.h:238
Definition: scmi_protocol.h:389
int32_t status
Definition: scmi_protocol.h:370
uint32_t clockId
Definition: scmi_protocol.h:392
uint32_t attributes
Definition: scmi_protocol.h:265
Definition: scmi_protocol.h:417
Definition: scmi_protocol.h:270
uint32_t flags
Definition: scmi_protocol.h:390
uint32_t attributes
Definition: scmi_protocol.h:194
SCMI_BaseMessageCommand
Definition: scmi_protocol.h:152
@ SCMI_BUSY
Definition: scmi_protocol.h:141
@ SCMI_INVALID_PARAMETERS
Definition: scmi_protocol.h:137
#define SCMI_CLK_NAME_LENGTH_MAX
Definition: scmi_protocol.h:98
Definition: scmi_protocol.h:343
Response for SCMI_PROTOCOL_ATTRIBUTES.
Definition: scmi_protocol.h:180
@ SCMI_CLOCK_RATE_GET
Definition: scmi_protocol.h:315
@ SCMI_CLOCK_POSSIBLE_PARENTS_GET
Definition: scmi_protocol.h:319
@ SCMI_PROTOCOL_VERSION
Definition: scmi_protocol.h:113
@ SCMI_BASE_DISCOVER_LIST_PROTOCOLS
Definition: scmi_protocol.h:156
@ SCMI_CLOCK_PARENT_GET
Definition: scmi_protocol.h:321
uint32_t clockId
Definition: scmi_protocol.h:344
uint32_t flags
Definition: scmi_protocol.h:354
uint32_t parentId
Definition: scmi_protocol.h:404
@ SCMI_PROTOCOL_RESET
Definition: scmi_protocol.h:127
uint32_t clockRateMSB
Definition: scmi_protocol.h:396
#define SCMI_BASE_NAME_LENGTH_MAX
Definition: scmi_protocol.h:52
@ SCMI_OUT_OF_RANGE
Definition: scmi_protocol.h:140
int32_t status
Definition: scmi_protocol.h:271
Definition: scmi_protocol.h:298
Response for SCMI_PROTOCOL_MESSAGE_ATTRIBUTES command.
Definition: scmi_protocol.h:191
uint32_t clockRateLSB
Definition: scmi_protocol.h:394
@ SCMI_BASE_NOTIFY_ERRORS
Definition: scmi_protocol.h:158
uint32_t clockRateLSB
Definition: scmi_protocol.h:382
@ SCMI_PWD_STATE_CHANGE_REQUESTED_NOTIFY
Definition: scmi_protocol.h:243
@ SCMI_BASE_DISCOVER_AGENT
Definition: scmi_protocol.h:157
SCMI_CommonCommand
Definition: scmi_protocol.h:112
uint32_t version
Definition: scmi_protocol.h:172
#define SCMI_CLK_POSSIBLE_PARENTS_MASK
Definition: scmi_protocol.h:103
uint32_t parentId
Definition: scmi_protocol.h:412
uint32_t clockId
Definition: scmi_protocol.h:352
Definition: scmi_protocol.h:248
@ SCMI_PWD_NAME_GET
Definition: scmi_protocol.h:244
@ SCMI_PROTOCOL_ERROR
Definition: scmi_protocol.h:145
@ SCMI_BASE_DISCOVER_VENDOR
Definition: scmi_protocol.h:153
Definition: scmi_protocol.h:325
int32_t status
Definition: scmi_protocol.h:249
Definition: scmi_protocol.h:359
uint32_t attributes
Definition: scmi_protocol.h:273
@ SCMI_BASE_RESET_AGENT_CONFIGURATION
Definition: scmi_protocol.h:161
@ SCMI_PROTOCOL_MESSAGE_ATTRIBUTES
Definition: scmi_protocol.h:115
int32_t status
Definition: scmi_protocol.h:380
#define SCMI_PWD_NAME_LENGTH_MAX
Definition: scmi_protocol.h:73
uint32_t statsAddrHigh
Definition: scmi_protocol.h:255
uint32_t config
Definition: scmi_protocol.h:364
@ SCMI_PROTOCOL_POWERCAP
Definition: scmi_protocol.h:129
Response for SCMI_BASE_DISCOVER_LIST_PROTOCOLS command.
Definition: scmi_protocol.h:225
Response for SCMI_BASE_DISCOVER_VENDOR or SCMI_BASE_DISCOVER_SUB_VENDOR command.
Definition: scmi_protocol.h:203
@ SCMI_PWD_STATE_GET
Definition: scmi_protocol.h:241
Definition: scmi_protocol.h:290
@ SCMI_PROTOCOL_PINCTRL
Definition: scmi_protocol.h:130
uint32_t implVersion
Definition: scmi_protocol.h:217
int32_t status
Definition: scmi_protocol.h:299
uint32_t attributes
Definition: scmi_protocol.h:346
@ SCMI_PROTOCOL_BASE
Definition: scmi_protocol.h:121
uint32_t flags
Definition: scmi_protocol.h:281
Response for SCMI_BASE_DISCOVER_IMPL_VERSION command.
Definition: scmi_protocol.h:214
Definition: scmi_protocol.h:401
@ SCMI_CLOCK_CONFIG_GET
Definition: scmi_protocol.h:318
uint32_t pstate
Definition: scmi_protocol.h:285
Definition: scmi_protocol.h:280
uint32_t attributes
Definition: scmi_protocol.h:183
int32_t status
Definition: scmi_protocol.h:170
Definition: scmi_protocol.h:379
uint32_t statsAddrLow
Definition: scmi_protocol.h:253
@ SCMI_BASE_DISCOVER_SUB_VENDOR
Definition: scmi_protocol.h:154
Definition: scmi_protocol.h:427
@ SCMI_PROTOCOL_POWER
Definition: scmi_protocol.h:122
@ SCMI_NOT_FOUND
Definition: scmi_protocol.h:139
Definition: scmi_protocol.h:369
uint32_t clockId
Definition: scmi_protocol.h:402
@ SCMI_BASE_SET_DEVICE_PERMISSIONS
Definition: scmi_protocol.h:159
uint32_t statsLen
Definition: scmi_protocol.h:257
int32_t status
Definition: scmi_protocol.h:181
int32_t status
Definition: scmi_protocol.h:291
SCMI_ClockMessageId
Definition: scmi_protocol.h:312
uint32_t numParentsFlags
Definition: scmi_protocol.h:420
int32_t status
Definition: scmi_protocol.h:410
int32_t status
Definition: scmi_protocol.h:204
#define SCMI_PWD_EXTENDED_NAME_MAX
Definition: scmi_protocol.h:80
@ SCMI_CLOCK_NAME_GET
Definition: scmi_protocol.h:317
@ SCMI_COMMS_ERROR
Definition: scmi_protocol.h:142
uint32_t attributes
Definition: scmi_protocol.h:251