Zephyr Project API 4.1.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cpuconf.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Nordic Semiconductor ASA
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_
7#define ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_
8
9#include <stdbool.h>
10#include <stddef.h>
13#include <nrf.h>
14
21#define IRONSIDE_CPUCONF_ERROR_WRONG_CPU (1)
23#define IRONSIDE_CPUCONF_ERROR_MESSAGE_TOO_LARGE (2)
24
29#define IRONSIDE_CALL_ID_CPUCONF_V0 2
30
31enum {
38 /* The last enum value is reserved for the number of arguments */
40};
41
42/* Maximum size of the CPUCONF message parameter. */
43#define IRONSIDE_CPUCONF_SERVICE_MSG_MAX_SIZE (4 * sizeof(uint32_t))
44
45/* IDX 0 is re-used by the error return code and the 'cpu' parameter. */
46#define IRONSIDE_CPUCONF_SERVICE_RETCODE_IDX 0
47
49
71int ironside_cpuconf(NRF_PROCESSORID_Type cpu, const void *vector_table, bool cpu_wait,
72 const uint8_t *msg, size_t msg_size);
73
74#endif /* ZEPHYR_INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_NRF_IRONSIDE_CPUCONF_H_ */
#define NRF_IRONSIDE_CALL_NUM_ARGS
Maximum number of arguments to an IRONside call.
Definition call.h:16
@ IRONSIDE_CPUCONF_SERVICE_MSG_3
Definition cpuconf.h:37
@ IRONSIDE_CPUCONF_NUM_ARGS
Definition cpuconf.h:39
@ IRONSIDE_CPUCONF_SERVICE_MSG_1
Definition cpuconf.h:35
@ IRONSIDE_CPUCONF_SERVICE_CPU_PARAMS_IDX
Definition cpuconf.h:32
@ IRONSIDE_CPUCONF_SERVICE_MSG_0
Definition cpuconf.h:34
@ IRONSIDE_CPUCONF_SERVICE_VECTOR_TABLE_IDX
Definition cpuconf.h:33
@ IRONSIDE_CPUCONF_SERVICE_MSG_2
Definition cpuconf.h:36
int ironside_cpuconf(NRF_PROCESSORID_Type cpu, const void *vector_table, bool cpu_wait, const uint8_t *msg, size_t msg_size)
Boot a local domain CPU.
Common toolchain abstraction.
__UINT8_TYPE__ uint8_t
Definition stdint.h:88