# 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.
