Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cpu.h
Go to the documentation of this file.
1/*
2 * Copyright 2025 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
11
12#ifndef _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_CPU_H_
13#define _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_CPU_H_
14
16#if __has_include("scmi_cpu_soc.h")
17#include <scmi_cpu_soc.h>
18#endif
19
20#define SCMI_CPU_SLEEP_FLAG_IRQ_MUX 0x1U
21
22#define SCMI_PROTOCOL_CPU_DOMAIN 130
23
24#define SCMI_CPU_MAX_PDCONFIGS_T 7U
25
26#define SCMI_CPU_IRQ_WAKE_NUM 22U
27
29#define SCMI_CPU_VEC_FLAGS_BOOT BIT(29)
30
32#define SCMI_CPU_VEC_FLAGS_START BIT(30)
33
35#define SCMI_CPU_VEC_FLAGS_RESUME BIT(31)
36
48
54
65
77
89
101
121
132
143
153
163
173int scmi_cpu_info_get(uint32_t cpu_id, struct scmi_cpu_info *cfg);
174#endif /* _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_CPU_H_ */
int scmi_cpu_set_irq_mask(struct scmi_cpu_irq_mask_config *cfg)
Send the CPU_IRQ_WAKE_SET command and get its reply.
int scmi_cpu_pd_lpm_set(struct scmi_cpu_pd_lpm_config *cfg)
Send the SCMI_CPU_DOMAIN_MSG_CPU_PD_LPM_CONFIG_SET command and get its reply.
int scmi_cpu_info_get(uint32_t cpu_id, struct scmi_cpu_info *cfg)
Send the CPU_INFO_GET command and get its reply.
#define SCMI_CPU_MAX_PDCONFIGS_T
Definition cpu.h:24
#define SCMI_CPU_IRQ_WAKE_NUM
Definition cpu.h:26
scmi_cpu_domain_message
CPU domain protocol command message IDs.
Definition cpu.h:105
@ SCMI_CPU_DOMAIN_MSG_CPU_PD_LPM_CONFIG_SET
Definition cpu.h:116
@ SCMI_CPU_DOMAIN_MSG_PROTOCOL_ATTRIBUTES
Definition cpu.h:107
@ SCMI_CPU_DOMAIN_MSG_CPU_START
Definition cpu.h:110
@ SCMI_CPU_DOMAIN_MSG_CPU_STOP
Definition cpu.h:111
@ SCMI_CPU_DOMAIN_MSG_CPU_IRQ_WAKE_SET
Definition cpu.h:114
@ SCMI_CPU_DOMAIN_MSG_PROTOCOL_VERSION
Definition cpu.h:106
@ SCMI_CPU_DOMAIN_MSG_CPU_DOMAIN_ATTRIBUTES
Definition cpu.h:109
@ SCMI_CPU_DOMAIN_MSG_CPU_SLEEP_MODE_SET
Definition cpu.h:113
@ SCMI_CPU_DOMAIN_MSG_CPU_NON_IRQ_WAKE_SET
Definition cpu.h:115
@ SCMI_CPU_DOMAIN_MSG_NEGOTIATE_PROTOCOL_VERSION
Definition cpu.h:119
@ SCMI_CPU_DOMAIN_MSG_CPU_PER_LPM_CONFIG_SET
Definition cpu.h:117
@ SCMI_CPU_DOMAIN_MSG_CPU_INFO_GET
Definition cpu.h:118
@ SCMI_CPU_DOMAIN_MSG_CPU_RESET_VECTOR_SET
Definition cpu.h:112
@ SCMI_CPU_DOMAIN_MSG_PROTOCOL_MESSAGE_ATTRIBUTES
Definition cpu.h:108
int scmi_cpu_sleep_mode_set(struct scmi_cpu_sleep_mode_config *cfg)
Send the CPU_SLEEP_MODE_SET command and get its reply.
int scmi_cpu_reset_vector(struct scmi_cpu_vector_config *cfg)
Send the CPU_RESET_VECTOR_SET command and get its reply.
SCMI protocol generic functions and structures.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Describes the parameters for the CPU_INFO_GET command.
Definition cpu.h:95
uint32_t vector_low
Definition cpu.h:98
uint32_t sleep_mode
Definition cpu.h:97
uint32_t run_mode
Definition cpu.h:96
uint32_t vector_high
Definition cpu.h:99
Describes the parameters for the CPU_IRQ_WAKE_SET command.
Definition cpu.h:71
uint32_t mask_idx
Definition cpu.h:73
uint32_t cpu_id
Definition cpu.h:72
uint32_t num_mask
Definition cpu.h:74
uint32_t mask[22U]
Definition cpu.h:75
Describes cpu power domain low power mode setting.
Definition cpu.h:60
uint32_t cpu_id
Definition cpu.h:61
struct scmi_pd_lpm_settings cfgs[7U]
Definition cpu.h:63
uint32_t num_cfg
Definition cpu.h:62
Describes the parameters for the CPU_STATE_SET command.
Definition cpu.h:43
uint32_t sleep_mode
Definition cpu.h:46
uint32_t flags
Definition cpu.h:45
uint32_t cpu_id
Definition cpu.h:44
Describes the parameters for the CPU_RESET_VECTOR_SET command.
Definition cpu.h:83
uint32_t vector_high
Definition cpu.h:87
uint32_t flags
Definition cpu.h:85
uint32_t cpu_id
Definition cpu.h:84
uint32_t vector_low
Definition cpu.h:86
Definition cpu.h:49
uint32_t ret_mask
Definition cpu.h:52
uint32_t lpm_setting
Definition cpu.h:51
uint32_t domain_id
Definition cpu.h:50