# # 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. config RPMSG_TEST bool "rpmsg test support" default n 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 depends on SPI 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 4096 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 config RPMSG_PORT_SPI_PM_TIMEOUT int "Rpmsg SPI Port PM Stay Timeout in Milliseconds" default 1 depends on PM endif # RPMSG_PORT_SPI config RPMSG_PORT_UART bool "Rpmsg Uart Port Driver Support" default n depends on SCHED_EVENTS 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 bool default n select RPMSG ---help--- The Rpmsg VirtIO Lite, VirtIO-Rpmsg and VHost-Rpmsg common part. if RPMSG_VIRTIO config RPMSG_VIRTIO_PRIORITY int "rpmsg virtio priority" default 224 config RPMSG_VIRTIO_STACKSIZE int "rpmsg virtio stack size" default DEFAULT_TASK_STACKSIZE config RPMSG_VIRTIO_PM bool "RPMsg VirtIO 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_PM_AUTORELAX bool "RPMsg VirtIO pm autorelax" depends on RPMSG_VIRTIO_PM default y ---help--- Enable automatic power management wakelock relaxation using watchdog timer. When enabled, this option uses a watchdog timer to periodically check if there are any tx buffers is not returned by remote core. If the tx buffers are returned by remote core, the power management wakelock is automatically released, allowing the system to enter low-power states. If the tx buffers are still not returned by remote core, the wakelock is maintained and the timer is restarted. Autorelax feature can improve power efficiency in multi-core systems because it prevents unnecessary power consumption by reducing the times that system enter and leave low-power states. endif # RPMSG_VIRTIO 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