blob: 4b8d5d16f54faf51af029a7dd073a6e390364b69 [file] [log] [blame]
# Copyright (c) 2021 Nordic Semiconductor (ASA)
# SPDX-License-Identifier: Apache-2.0
config IPC_SERVICE_REG_BACKEND_PRIORITY
int "Initialization priority of modules registering IPC backend"
default 46
help
The backend must be registered before the endpoint register.
config IPC_SERVICE_BACKEND_RPMSG
bool "OpenAMP RPMSG backend with static VRINGs"
default y
depends on MBOX
depends on DT_HAS_ZEPHYR_IPC_OPENAMP_STATIC_VRINGS_ENABLED
select IPC_SERVICE_RPMSG
select IPC_SERVICE_STATIC_VRINGS
select OPENAMP
config IPC_SERVICE_BACKEND_ICMSG
bool "ICMSG backend with SPSC packet buffer"
default y
depends on MBOX
depends on DT_HAS_ZEPHYR_IPC_ICMSG_ENABLED
select IPC_SERVICE_ICMSG
help
Chosing this backend results in single endpoint implementation based
on circular packet buffer.
config IPC_SERVICE_BACKEND_ICMSG_ME_INITIATOR
bool "ICMSG backend with multi-endpoint support in initiator role"
depends on MBOX
depends on DT_HAS_ZEPHYR_IPC_ICMSG_ME_INITIATOR_ENABLED
select IPC_SERVICE_ICMSG
select EVENTS
help
Chosing this backend results in multi endpoint implementation based
on circular packet buffer. This enables enpoint discovery initiator
role.
config IPC_SERVICE_BACKEND_ICMSG_ME_FOLLOWER
bool "ICMSG backend with multi-endpoint support in follower role"
depends on MBOX
depends on DT_HAS_ZEPHYR_IPC_ICMSG_ME_FOLLOWER_ENABLED
select IPC_SERVICE_ICMSG
select EVENTS
help
Chosing this backend results in multi endpoint implementation based
on circular packet buffer. This enables enpoint discovery follower
role.
config IPC_SERVICE_RPMSG
bool "RPMsg support library"
help
"RPMsg library"
config IPC_SERVICE_STATIC_VRINGS
bool "Static VRINGs support library"
help
"Static VRINGs library"
config IPC_SERVICE_STATIC_VRINGS_ALIGNMENT
int "VRINGs alignment"
depends on IPC_SERVICE_STATIC_VRINGS
default 4
help
Static VRINGs alignment
config IPC_SERVICE_ICMSG
bool
select SPSC_PBUF
select SPSC_PBUF_USE_CACHE
help
Icmsg library
config IPC_SERVICE_ICMSG_CB_BUF_SIZE
int "Size of callback buffer size"
depends on IPC_SERVICE_ICMSG
range 1 65535
default 255
help
Size of callback buffer used for processing received data in work
queue thread. If you are sure that your application never sends data
data bigger than some size, you can safely change this option to
reduce RAM consumption in your application.
# The Icmsg library in its simplicity requires the system workqueue to execute
# at a cooperative priority.
config SYSTEM_WORKQUEUE_PRIORITY
depends on IPC_SERVICE_ICMSG
range -256 -1
config IPC_SERVICE_BACKEND_ICMSG_BOND_NOTIFY_REPEAT_TO_MS
int "Bond notification timeout in miliseconds"
range 1 100
default 1
help
Time to wait for remote bonding notification before the
notification is repeated.
rsource "Kconfig.icmsg_me"
rsource "Kconfig.rpmsg"