ipc: ipc_service: kconfig cleanup

Separate ipc_service libraries Kconfig entries from ipc_service backend
entries. IPC_SERVICE_BACKEND_ICMSG_BOND_NOTIFY_REPEAT_TO_MS is renamed
to drop BACKEND part, because this entry applies to a library, not to
one backend. Icmsg related entries are grouped now in a menuconfig for
cleaner presentation in configuration editors.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
This commit is contained in:
Hubert Miś 2022-11-23 13:40:04 +01:00 committed by Carles Cufí
commit 14a03e90d5
5 changed files with 57 additions and 50 deletions

View file

@ -12,6 +12,7 @@ menuconfig IPC_SERVICE
if IPC_SERVICE
rsource "backends/Kconfig"
rsource "lib/Kconfig"
module = IPC_SERVICE
module-str = IPC service and backend

View file

@ -48,54 +48,5 @@ config IPC_SERVICE_BACKEND_ICMSG_ME_FOLLOWER
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"

View file

@ -0,0 +1,30 @@
# Copyright (c) 2022 Nordic Semiconductor (ASA)
# SPDX-License-Identifier: Apache-2.0
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
menuconfig IPC_SERVICE_ICMSG
bool "icmsg IPC library"
select SPSC_PBUF
select SPSC_PBUF_USE_CACHE
help
Icmsg library
if IPC_SERVICE_ICMSG
rsource "Kconfig.icmsg"
endif

View file

@ -0,0 +1,25 @@
# Copyright (c) 2022 Nordic Semiconductor (ASA)
# SPDX-License-Identifier: Apache-2.0
config IPC_SERVICE_ICMSG_CB_BUF_SIZE
int "Size of callback buffer size"
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
range -256 -1
config IPC_SERVICE_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.

View file

@ -12,7 +12,7 @@
#include <zephyr/sys/spsc_pbuf.h>
#define CB_BUF_SIZE CONFIG_IPC_SERVICE_ICMSG_CB_BUF_SIZE
#define BOND_NOTIFY_REPEAT_TO K_MSEC(CONFIG_IPC_SERVICE_BACKEND_ICMSG_BOND_NOTIFY_REPEAT_TO_MS)
#define BOND_NOTIFY_REPEAT_TO K_MSEC(CONFIG_IPC_SERVICE_ICMSG_BOND_NOTIFY_REPEAT_TO_MS)
static const uint8_t magic[] = {0x45, 0x6d, 0x31, 0x6c, 0x31, 0x4b,
0x30, 0x72, 0x6e, 0x33, 0x6c, 0x69, 0x34};