nuttx-mirror/drivers/rpmsg/Kconfig
Bowen Wang f0a3c43a54 rpmsg/rpmsg_virtio_lite: rename rpmsg_virtio to rpmsg_virtio_lite
Because rpmsg_virtio_lite is a better name to inform user that the
rpmsg virtio (original name) is a lite implementation of rpmsg virtio.

Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com>
2024-12-28 22:43:20 -03:00

177 lines
4.1 KiB
Text

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config RPMSG
bool
default n
select OPENAMP
if RPMSG
config RPMSG_LOCAL_CPUNAME
string "Rpmsg Local Cpuname"
default LIBC_HOSTNAME
config RPMSG_PING
bool "rpmsg ping support"
default n
---help---
This is for debugging & profiling, create ping rpmsg
channel, user can use it to get send/recv speed & latency.
endif # RPMSG
config RPMSG_ROUTER
bool "rpmsg router support"
default n
---help---
Rpmsg router driver for enabling communication
without physical channels.
config RPMSG_PORT
bool
default n
select RPMSG
---help---
Rpmsg port transport layer used for cross chip communication.
config RPMSG_PORT_SPI
bool "Rpmsg SPI Port Driver Support"
default n
select RPMSG_PORT
---help---
Rpmsg SPI Port driver used for cross chip communication.
config RPMSG_PORT_SPI_SLAVE
bool "Rpmsg SPI Slave Port Driver Support"
default n
select RPMSG_PORT
---help---
Rpmsg SPI Slave Port driver used for cross chip communication.
if RPMSG_PORT_SPI || RPMSG_PORT_SPI_SLAVE
config RPMSG_PORT_SPI_THREAD_PRIORITY
int "Rpmsg SPI Port Thread Priority"
default 224
config RPMSG_PORT_SPI_THREAD_STACKSIZE
int "Rpmsg SPI Port Stack Size"
default DEFAULT_TASK_STACKSIZE
config RPMSG_PORT_SPI_CRC
bool "Rpmsg SPI Port Use CRC Check"
default n
config RPMSG_PORT_SPI_RX_THRESHOLD
int "Rpmsg SPI Port Rx Buffer Threshold"
default 50
range 0 100
endif # RPMSG_PORT_SPI
config RPMSG_PORT_UART
bool "Rpmsg Uart Port Driver Support"
default n
select RPMSG_PORT
---help---
Rpmsg Uart Port driver used for cross chip communication.
if RPMSG_PORT_UART
config RPMSG_PORT_UART_RX_THREAD_PRIORITY
int "Rpmsg UART Port RX Thread Priority"
default 224
config RPMSG_PORT_UART_RX_THREAD_STACKSIZE
int "Rpmsg UART Port RX Stack Size"
default DEFAULT_TASK_STACKSIZE
config RPMSG_PORT_UART_TX_THREAD_PRIORITY
int "Rpmsg UART Port TX Thread Priority"
default 224
config RPMSG_PORT_UART_TX_THREAD_STACKSIZE
int "Rpmsg UART Port TX Stack Size"
default DEFAULT_TASK_STACKSIZE
config RPMSG_PORT_UART_CRC
bool "Rpmsg UART Port CRC Enable"
default n
config RPMSG_PORT_UART_DEBUG
bool "Rpmsg UART DEBUG Enable"
default n
endif # RPMSG_PORT_UART
config RPMSG_VIRTIO_LITE
bool "rpmsg virtio transport support"
default n
select RPMSG
if RPMSG_VIRTIO_LITE
config RPMSG_VIRTIO_LITE_PRIORITY
int "rpmsg virtio lite rx thread priority"
default 224
config RPMSG_VIRTIO_LITE_STACKSIZE
int "rpmsg virtio lite rx thread stack size"
default DEFAULT_TASK_STACKSIZE
config RPMSG_VIRTIO_IVSHMEM
bool "rpmsg virtio lite ivshmem support"
default n
depends on PCI_IVSHMEM
---help---
This is rpmsg virtio driver based on pci ivshmem.
config RPMSG_VIRTIO_LITE_PM
bool "rpmsg virtio lite 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.
config RPMSG_VIRTIO_LITE_PM_AUTORELAX
bool "rpmsg virtio lite pm autorelax"
depends on RPMSG_VIRTIO_LITE_PM
default y
---help---
use wd_timer to auto relax pm
if RPMSG_VIRTIO_IVSHMEM
config RPMSG_VIRTIO_IVSHMEM_NAME
string "rpmsg virtio lite ivshmem name"
---help---
Using this config to custom the rpmsg virtio ivshmem id, cpuname and role,
using ";" to split the names.
For example, if RPMSG_VIRTIO_IVSHMEM_CPUNAME = "0:cpu1:m;1:cpu2:s" and pass
two ivshmem devices to the qemu, we will get two rpmsg virtio ivshmem drivers
with remote cpu ids: "0","1", names: "cpu1", "cpu2", and roles: "master", "slave"
config RPMSG_VIRTIO_IVSHMEM_BUFFSIZE
int "rpmsg virtio lite ivshmem rpmsg buffer size"
default 2048
---help---
The rpmsg buffer size in share memory, the RX and TX buffer size
are same for now.
config RPMSG_VIRTIO_IVSHMEM_BUFFNUM
int "rpmsg virtio lite ivshmem rpmsg buffer number"
default 8
---help---
The rpmsg virtio buffer number in share memory, the RX and TX buffer number
are same for now.
endif
endif