# 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_MEM_ALIGNMENT
	int "VRINGs alignment"
	depends on IPC_SERVICE_STATIC_VRINGS
	default 4
	help
	  Static VRINGs alignment. This should take into account the cache line
	  alignment if the cache is enabled.

menuconfig IPC_SERVICE_ICMSG
	bool "icmsg IPC library"
	select PBUF
	help
	  Icmsg library

if IPC_SERVICE_ICMSG
	rsource "Kconfig.icmsg"
endif

config IPC_SERVICE_ICMSG_ME
	bool "icmsg IPC library with multi-endpoint functionality"
	select IPC_SERVICE_ICMSG
	select EVENTS
	help
	  Multi-endpoint functionality for the icmsg library
