# SPDX-License-Identifier: GPL-2.0 menu "Rpmsg drivers" # RPMSG always gets selected by whoever wants it config RPMSG tristate config RPMSG_CHAR tristate "RPMSG device interface" depends on RPMSG depends on NET help Say Y here to export rpmsg endpoints as device files, usually found in /dev. They make it possible for user-space programs to send and receive rpmsg packets. config RPMSG_CTRL tristate "RPMSG control interface" depends on RPMSG && ( RPMSG_CHAR || RPMSG_CHAR=n ) help Say Y here to enable the support of the /dev/rpmsg_ctrlX API. This API allows user-space programs to create endpoints with specific service name, source and destination addresses. config RPMSG_NS tristate "RPMSG name service announcement" depends on RPMSG help Say Y here to enable the support of the name service announcement channel that probes the associated RPMsg device on remote endpoint service announcement. config MSM_RPM_SMD tristate "RPM driver using SMD protocol" select RPMSG help RPM is the dedicated hardware engine for managing shared SoC resources. This config adds driver support for using SMD as a transport layer communication with RPM hardware. It also selects the MSM_MPM config that programs the MPM module to monitor interrupts during sleep modes. config RPMSG_MTK_SCP tristate "MediaTek SCP" depends on MTK_SCP select RPMSG help Say y here to enable support providing communication channels to remote processors in MediaTek platforms. This use IPI and IPC to communicate with remote processors. config RPMSG_QCOM_GLINK tristate select RPMSG config RPMSG_QCOM_GLINK_DEBUG bool "Qualcomm Technologies, Inc. Glink driver debug support" depends on RPMSG_QCOM_GLINK help Say y here to enable GLINK debugging features. This currently includes an assert in the intent timeout case to catch issues with unresponsive remote processors. Future debug enhancements can be switched on and off with this config. config RPMSG_QCOM_GLINK_RPM tristate "Qualcomm RPM Glink driver" select RPMSG_QCOM_GLINK depends on HAS_IOMEM depends on MAILBOX help Say y here to enable support for the GLINK RPM communication driver, which serves as a channel for communication with the RPM in GLINK enabled systems. config RPMSG_QCOM_GLINK_SMEM tristate "Qualcomm SMEM Glink driver" select RPMSG_QCOM_GLINK depends on MAILBOX depends on QCOM_SMEM help Say y here to enable support for the GLINK SMEM communication driver, which provides support for using the GLINK communication protocol over SMEM. config RPMSG_QCOM_GLINK_SPSS tristate "QTI SPSS Glink driver" select RPMSG_QCOM_GLINK_NATIVE depends on MAILBOX depends on QCOM_SMEM help Say y here to enable support for the GLINK SPSS communication driver, which provides support for using the GLINK communication protocol over SMEM. This protocol maps the smem and then shares the mapped region with the remote proc by writing the smem descriptor location and size into shared registers. config QCOM_GLINK_PKT tristate "Enable device interface for GLINK packet channels" depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SLATECOM help G-link packet driver provides the interface for the userspace clients to communicate over G-Link via device nodes. This enable the userspace clients to read and write to some glink packets channel. config RPMSG_QCOM_SMD tristate "Qualcomm Shared Memory Driver (SMD)" depends on MAILBOX depends on QCOM_SMEM select RPMSG help Say y here to enable support for the Qualcomm Shared Memory Driver providing communication channels to remote processors in Qualcomm platforms. config RPMSG_VIRTIO tristate "Virtio RPMSG bus driver" depends on HAS_DMA select RPMSG select RPMSG_NS select VIRTIO config RPMSG_QCOM_GLINK_CMA tristate "Qualcomm Technologies, Inc. CMA Glink driver" select RPMSG_QCOM_GLINK depends on MAILBOX help Say y here to enable support for the GLINK CMA communication driver. This provides support for using the GLINK communication protocol over share CMA region and IPC signaling. Enables communication channels to remote processors. endmenu