2023-12-12 10:53:45 +08:00
|
|
|
#
|
|
|
|
# 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
|
2023-12-22 16:09:24 +08:00
|
|
|
|
|
|
|
if RPMSG
|
|
|
|
|
2024-02-04 15:04:16 +08:00
|
|
|
config RPMSG_LOCAL_CPUNAME
|
|
|
|
string "Rpmsg Local Cpuname"
|
|
|
|
default LIBC_HOSTNAME
|
|
|
|
|
2023-12-22 16:09:24 +08:00
|
|
|
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.
|
|
|
|
|
2024-06-03 21:52:47 +08:00
|
|
|
endif # RPMSG
|
|
|
|
|
drivers/rpmsg: add rpmsg router support
Rpmsg Router is new rpmsg transport layer, it can router the rpmsg
messages to a cpu that not directly connected with local cpu by Rpmsg,
For the rpmsg services, it is as if there is a real Rpmsg Channel between
the local cpu and the remote cpu.
For examples, there are three cpus: ap, cp and audio.
ap and cp, ap and audio has share memory and be connected by Rpmsg VirtIO,
so ap and cp, ap and audio can communicate with each other by Rpmsg, but
cp can not communicate with audio direclty.
[cp] <-- rpmsg virtio --> [ap] <-- rpmsg virtio --> [audio]
With rpmsg router, the cp can communicate with audip by Rpmsg dereclty because
the router in ap will forward the rpmsg message from cp/audio to audio/cp, like
this:
+<----- rpmsg router --> hub <-- rpmsg router ------>+
| | |
[cp] <-- rpmsg virtio --> [ap] <-- rpmsg virtio --> [audio]
Signed-off-by: yintao <yintao@xiaomi.com>
2024-04-14 13:17:05 +08:00
|
|
|
config RPMSG_ROUTER
|
|
|
|
bool "rpmsg router support"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
Rpmsg router driver for enabling communication
|
|
|
|
without physical channels.
|
|
|
|
|
2024-01-04 14:10:44 +08:00
|
|
|
config RPMSG_PORT
|
|
|
|
bool
|
|
|
|
default n
|
2024-06-03 21:52:47 +08:00
|
|
|
select RPMSG
|
2024-01-04 14:10:44 +08:00
|
|
|
---help---
|
|
|
|
Rpmsg port transport layer used for cross chip communication.
|
|
|
|
|
2024-01-23 15:26:37 +08:00
|
|
|
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.
|
|
|
|
|
2024-06-05 21:50:52 +08:00
|
|
|
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
|
2024-01-23 15:26:37 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2024-01-04 15:05:28 +08:00
|
|
|
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
|
|
|
|
|
2024-02-06 11:12:15 +08:00
|
|
|
config RPMSG_VIRTIO
|
|
|
|
bool "rpmsg virtio transport support"
|
|
|
|
default n
|
|
|
|
select RPMSG
|
|
|
|
|
|
|
|
if RPMSG_VIRTIO
|
|
|
|
|
|
|
|
config RPMSG_VIRTIO_PRIORITY
|
|
|
|
int "rpmsg virtio rx thread priority"
|
|
|
|
default 224
|
|
|
|
|
|
|
|
config RPMSG_VIRTIO_STACKSIZE
|
|
|
|
int "rpmsg virtio rx thread stack size"
|
|
|
|
default DEFAULT_TASK_STACKSIZE
|
|
|
|
|
2024-02-23 14:57:40 +08:00
|
|
|
config RPMSG_VIRTIO_IVSHMEM
|
|
|
|
bool "rpmsg virtio ivshmem support"
|
|
|
|
default n
|
2024-04-25 19:56:05 +08:00
|
|
|
depends on PCI_IVSHMEM
|
2024-02-23 14:57:40 +08:00
|
|
|
---help---
|
|
|
|
This is rpmsg virtio driver based on pci ivshmem.
|
|
|
|
|
|
|
|
if RPMSG_VIRTIO_IVSHMEM
|
|
|
|
|
|
|
|
config RPMSG_VIRTIO_IVSHMEM_NAME
|
|
|
|
string "rpmsg virtio ivshmem name"
|
|
|
|
---help---
|
2024-04-25 19:56:05 +08:00
|
|
|
Using this config to custom the rpmsg virtio ivshmem id, cpuname and role,
|
2024-02-23 14:57:40 +08:00
|
|
|
using ";" to split the names.
|
2024-04-25 19:56:05 +08:00
|
|
|
For example, if RPMSG_VIRTIO_IVSHMEM_CPUNAME = "0:cpu1:m;1:cpu2:s" and pass
|
2024-02-23 14:57:40 +08:00
|
|
|
two ivshmem devices to the qemu, we will get two rpmsg virtio ivshmem drivers
|
2024-04-25 19:56:05 +08:00
|
|
|
with remote cpu ids: "0","1", names: "cpu1", "cpu2", and roles: "master", "slave"
|
2024-02-23 14:57:40 +08:00
|
|
|
|
|
|
|
config RPMSG_VIRTIO_IVSHMEM_BUFFSIZE
|
|
|
|
int "rpmsg virtio 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 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
|
|
|
|
|
2024-02-06 11:12:15 +08:00
|
|
|
endif
|