#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

menuconfig RPTUN
	bool "Remote Proc Tunnel Driver Support"
	default n
	select RPMSG
	---help---
		RPTUN driver is used for multi-cores' communication.

if RPTUN

config RPTUN_IVSHMEM
	bool "rptun ivshmem support"
	default n
	depends on PCI_IVSHMEM
	---help---
		This is rptun driver based on pci ivshmem.

if RPTUN_IVSHMEM

config RPTUN_IVSHMEM_NAME
	string "rptun ivshmem name"
	---help---
		Using this config to custom the rptun ivshmem cpuname and role,
		using ";" to split the names.
		For example, if RPTUN_IVSHMEM_CPUNAME = "0:cpu1:m;1:cpu2:s" and pass
		two ivshmem devices to the qemu, we will get two rptun ivshmem
		drivers with ivshmem device match id: [0, 1],
		remote cpu names: ["cpu1", "cpu2"] and roles: ["master", "slave"']

config RPTUN_IVSHMEM_BUFFSIZE
	int "rptun ivshmem rpmsg buffer size"
	default 2048
	---help---
		The rpmsg buffer size in resource table, the RX and TX buffer size
		are same for now.

config RPTUN_IVSHMEM_BUFFNUM
	int "rptun ivshmem rpmsg buffer number"
	default 8
	---help---
		The rpmsg buffer number in resource table, the RX and TX buffer number
		are same for now.

endif

config RPTUN_PRIORITY
	int "rptun thread priority"
	default 224

config RPTUN_STACKSIZE
	int "rptun stack size"
	default 4096

config RPTUN_LOADER
	bool "rptun loader support"
	default n

config RPTUN_PM
	bool "rptun power management"
	depends on PM
	default n
	---help---
		If TX/RX buffer is supplied and powered by each CPU.
		And when one CPU in DEEP sleep, then it's buffer will
		goto RAM-retention mode, can't access from another CPU.
		So, we provide this method to resolve this.

endif # RPTUN