127 lines
3.4 KiB
Plaintext
127 lines
3.4 KiB
Plaintext
# Copyright (c) 2020-2021 Nordic Semiconductor (ASA)
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_IPC_SHM := zephyr,ipc_shm
|
|
DT_CHOSEN_Z_IPC := zephyr,ipc
|
|
DT_CHOSEN_Z_IPC_TX := zephyr,ipc_tx
|
|
DT_CHOSEN_Z_IPC_RX := zephyr,ipc_rx
|
|
|
|
config RPMSG_SERVICE_SINGLE_IPM_SUPPORT
|
|
bool
|
|
default $(dt_chosen_enabled,$(DT_CHOSEN_Z_IPC))
|
|
help
|
|
This option must be selected when single IPM is used for
|
|
both TX and RX communication
|
|
|
|
config RPMSG_SERVICE_DUAL_IPM_SUPPORT
|
|
bool
|
|
default $(dt_chosen_enabled,$(DT_CHOSEN_Z_IPC_TX)) && \
|
|
$(dt_chosen_enabled,$(DT_CHOSEN_Z_IPC_RX))
|
|
help
|
|
This option must be selected when separate IPMs are used for
|
|
TX and RX communication
|
|
|
|
menuconfig RPMSG_SERVICE
|
|
bool "RPMsg service for multiple users"
|
|
select IPM
|
|
select OPENAMP
|
|
help
|
|
Enables support for a service that can be shared by multiple
|
|
users to establish RPMsg endpoints for given channel.
|
|
|
|
if RPMSG_SERVICE
|
|
|
|
config RPMSG_SERVICE_SHM_BASE_ADDRESS
|
|
hex
|
|
default "$(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_IPC_SHM))"
|
|
help
|
|
This option specifies base address of the memory region to
|
|
be used for the OpenAMP IPC shared memory
|
|
|
|
config RPMSG_SERVICE_SHM_SIZE
|
|
hex
|
|
default "$(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_IPC_SHM))"
|
|
help
|
|
This option specifies size of the memory region to be used
|
|
for the OpenAMP IPC shared memory
|
|
|
|
if RPMSG_SERVICE_SINGLE_IPM_SUPPORT
|
|
|
|
config RPMSG_SERVICE_IPM_NAME
|
|
string
|
|
default "$(dt_chosen_label,$(DT_CHOSEN_Z_IPC))"
|
|
help
|
|
This option specifies the IPM device name to be used
|
|
|
|
endif # RPMSG_SERVICE_SINGLE_IPM_SUPPORT
|
|
|
|
if RPMSG_SERVICE_DUAL_IPM_SUPPORT
|
|
|
|
config RPMSG_SERVICE_IPM_TX_NAME
|
|
string
|
|
default "$(dt_chosen_label,$(DT_CHOSEN_Z_IPC_TX))"
|
|
help
|
|
This option specifies the IPM device name to be used for
|
|
TX communication
|
|
|
|
config RPMSG_SERVICE_IPM_RX_NAME
|
|
string
|
|
default "$(dt_chosen_label,$(DT_CHOSEN_Z_IPC_RX))"
|
|
help
|
|
This option specifies the IPM device name to be used for
|
|
RX communication
|
|
|
|
endif # RPMSG_SERVICE_DUAL_IPM_SUPPORT
|
|
|
|
choice RPMSG_SERVICE_MODE
|
|
prompt "RPMsg Service mode"
|
|
|
|
config RPMSG_SERVICE_MODE_MASTER
|
|
bool "RPMsg master"
|
|
select OPENAMP_MASTER
|
|
|
|
config RPMSG_SERVICE_MODE_REMOTE
|
|
bool "RPMsg remote"
|
|
select OPENAMP_SLAVE
|
|
|
|
endchoice
|
|
|
|
config RPMSG_SERVICE_NUM_ENDPOINTS
|
|
int "Max number of registered endpoints"
|
|
default 2
|
|
help
|
|
Maximal number of endpoints that can be registered for given
|
|
RPMsg service.
|
|
|
|
config RPMSG_SERVICE_WORK_QUEUE_STACK_SIZE
|
|
int "Size of RX work queue stack"
|
|
default 2048
|
|
help
|
|
Size of stack used by work queue RX thread. This work queue is
|
|
created in the RPMsg Service backend module to prevent notifying
|
|
service users about received data from the system work queue.
|
|
|
|
config RPMSG_SERVICE_INIT_PRIORITY
|
|
int "Initialization priority of RPMsg service"
|
|
default 48
|
|
help
|
|
The order of RPMsg Service initialization and endpoints registration
|
|
is important to avoid race conditions in RPMsg endpoints handshake.
|
|
|
|
If in doubt, do not modify this value.
|
|
|
|
config RPMSG_SERVICE_EP_REG_PRIORITY
|
|
int "Initialization priority of modules registering RPMsg endpoints"
|
|
default 47
|
|
help
|
|
The endpoints must be registered before RPMsg Service is initialized.
|
|
|
|
If in doubt, do not modify this value.
|
|
|
|
module = RPMSG_SERVICE
|
|
module-str = RPMsg service and backend
|
|
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # RPMSG_SERVICE
|