-
Notifications
You must be signed in to change notification settings - Fork 77
/
Copy pathKconfig
176 lines (153 loc) · 6.85 KB
/
Kconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#
# Copyright 2024 NXP
#
# SPDX-License-Identifier: BSD-3-Clause
#
menuconfig MCUX_COMPONENT_middleware.multicore.rpmsg-lite
bool "RPMSG-Lite"
default n
help
This option will enable RPSMG-Lite Middleware Component
config MCUX_COMPONENT_middleware.multicore.rpmsg-lite.queue
bool "RPMSG-Lite Queue"
default n
depends on MCUX_COMPONENT_middleware.multicore.rpmsg-lite
help
This option enables RPMSG-Lite Queue support.
config MCUX_COMPONENT_middleware.multicore.rpmsg-lite.ns
bool "RPMSG-Lite Name Service"
default n
depends on MCUX_COMPONENT_middleware.multicore.rpmsg-lite
help
This option enables RPMSG-Lite Name Service support.
if MCUX_COMPONENT_middleware.multicore.rpmsg-lite
# The choice Option only here no need for menu item
rsource "./Kconfig.env"
rsource "./Kconfig.platform"
config MCUX_PRJSEG_middleware.multicore.rpmsg-lite.generated_config
bool "Generate RPMSG-Lite configuration header"
default y
help
Generate the rpmsg_config.h, otherwise users need to provide their
own rpmsg_config.h.
menu "RPMSG-Lite Configuration(rpmsg_config.h)"
depends on MCUX_PRJSEG_middleware.multicore.rpmsg-lite.generated_config
config RL_MS_PER_INTERVAL
int "RL_MS_PER_INTERVAL"
default 1
help
No prefix in generated macro
Delay in milliseconds used in non-blocking API functions for polling.
config RL_ALLOW_CUSTOM_SHMEM_CONFIG
bool "RL_ALLOW_CUSTOM_SHMEM_CONFIG"
default n
help
No prefix in generated macro
This option allows to define custom shared memory configuration and replacing
the shared memory related global settings from rpmsg_config.h
This is useful when multiple instances are running in parallel but different
shared memory arrangement (vring size & alignment, buffers size & count) is required.
Note, that once enabled the platform_get_custom_shmem_config() function needs
to be implemented in platform layer.
The default value is 0 (all RPMsg_Lite instances use the same shared memory arrangement as
defined by common config macros).
config RL_BUFFER_PAYLOAD_SIZE_VALUE
int "RL_BUFFER_PAYLOAD_SIZE_VALUE"
default 496
help
Size of the buffer payload, it must be equal to (240, 496, 1008, ...)
[2^n - 16]. Ensure the same value is defined on both sides of rpmsg
communication.
type unsigned
config RL_BUFFER_COUNT_VALUE
int "RL_BUFFER_COUNT_VALUE"
default 2
help
Number of the buffers, it must be power of two (2, 4, ...).
Note this value defines the buffer count for one direction of the rpmsg
communication only, i.e. if the default value of 2 is used
in rpmsg_config.h files for the master and the remote side, 4 buffers
in total are created in the shared memory.
type unsigned
config RL_BUFFER_PAYLOAD_SIZE_SHMEM(link_id)
string
default "(496U)"
config RL_BUFFER_PAYLOAD_COUNT_SHMEM(link_id)
string
default "(((link_id) == 0U) ? 256U : 2U)"
config RL_BUFFER_PAYLOAD_SIZE
string
default RL_BUFFER_PAYLOAD_SIZE_VALUE if ! RL_ALLOW_CUSTOM_SHMEM_CONFIG
default CONFIG_RL_BUFFER_PAYLOAD_SIZE_SHMEM if RL_ALLOW_CUSTOM_SHMEM_CONFIG
help
No prefix in generated macro
config RL_BUFFER_COUNT
string
default RL_BUFFER_COUNT_VALUE if ! RL_ALLOW_CUSTOM_SHMEM_CONFIG
default CONFIG_RL_BUFFER_PAYLOAD_COUNT_SHMEM if RL_ALLOW_CUSTOM_SHMEM_CONFIG
help
No prefix in generated macro
config RL_API_HAS_ZEROCOPY
bool "RL_API_HAS_ZEROCOPY"
default y
help
No prefix in generated macro
Zero-copy API functions enabled/disabled.
config RL_USE_STATIC_API
bool "RL_USE_STATIC_API"
default n
help
No prefix in generated macro
Static API functions (no dynamic allocation) enabled/disabled.
config RL_CLEAR_USED_BUFFERS
bool "RL_CLEAR_USED_BUFFERS"
default n
help
No prefix in generated macro
Clearing used buffers before returning back to the pool of free buffers
enabled/disabled.
config RL_USE_DCACHE
bool "RL_USE_DCACHE"
default n
help
No prefix in generated macro
Memory cache management of shared memory.
Use in case of data cache is enabled for shared memory.
config RL_USE_MCMGR_IPC_ISR_HANDLER
bool "RL_USE_MCMGR_IPC_ISR_HANDLER"
default n
help
No prefix in generated macro
When enabled IPC interrupts are managed by the Multicore Manager (IPC
interrupts router), when disabled RPMsg-Lite manages IPC interrupts
by itself.
The default value is 0 (no MCMGR IPC ISR handler used).
config RL_USE_ENVIRONMENT_CONTEXT
bool "RL_USE_ENVIRONMENT_CONTEXT"
default n
help
No prefix in generated macro
When enabled the environment layer uses its own context.
Added for QNX port mainly, but can be used if required.
The default value is 0 (no context, saves some RAM).
config RL_DEBUG_CHECK_BUFFERS
bool "RL_DEBUG_CHECK_BUFFERS"
default n
help
No prefix in generated macro
When enabled buffer pointers passed to rpmsg_lite_send_nocopy() and
rpmsg_lite_release_rx_buffer() functions (enabled by RL_API_HAS_ZEROCOPY config)
are checked to avoid passing invalid buffer pointer.
The default value is 0 (disabled). Do not use in RPMsg-Lite to Linux configuration.
config RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION
bool "RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION"
default n
help
No prefix in generated macro
When enabled the opposite side is notified each time received buffers
are consumed and put into the queue of available buffers.
Enable this option in RPMsg-Lite to Linux configuration to allow unblocking
of the Linux blocking send.
The default value is 0 (RPMsg-Lite to RPMsg-Lite communication).
endmenu
endif