162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_cimenu "Rpmsg drivers"
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci# RPMSG always gets selected by whoever wants it
662306a36Sopenharmony_ciconfig RPMSG
762306a36Sopenharmony_ci	tristate
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciconfig RPMSG_CHAR
1062306a36Sopenharmony_ci	tristate "RPMSG device interface"
1162306a36Sopenharmony_ci	depends on RPMSG
1262306a36Sopenharmony_ci	depends on NET
1362306a36Sopenharmony_ci	help
1462306a36Sopenharmony_ci	  Say Y here to export rpmsg endpoints as device files, usually found
1562306a36Sopenharmony_ci	  in /dev. They make it possible for user-space programs to send and
1662306a36Sopenharmony_ci	  receive rpmsg packets.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig RPMSG_CTRL
1962306a36Sopenharmony_ci	tristate "RPMSG control interface"
2062306a36Sopenharmony_ci	depends on RPMSG && ( RPMSG_CHAR || RPMSG_CHAR=n )
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	  Say Y here to enable the support of the /dev/rpmsg_ctrlX API. This API
2362306a36Sopenharmony_ci	  allows user-space programs to create endpoints with specific service name,
2462306a36Sopenharmony_ci	  source and destination addresses.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig RPMSG_NS
2762306a36Sopenharmony_ci	tristate "RPMSG name service announcement"
2862306a36Sopenharmony_ci	depends on RPMSG
2962306a36Sopenharmony_ci	help
3062306a36Sopenharmony_ci	  Say Y here to enable the support of the name service announcement
3162306a36Sopenharmony_ci	  channel that probes the associated RPMsg device on remote endpoint
3262306a36Sopenharmony_ci	  service announcement.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig RPMSG_MTK_SCP
3562306a36Sopenharmony_ci	tristate "MediaTek SCP"
3662306a36Sopenharmony_ci	depends on MTK_SCP
3762306a36Sopenharmony_ci	select RPMSG
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  Say y here to enable support providing communication channels to
4062306a36Sopenharmony_ci	  remote processors in MediaTek platforms.
4162306a36Sopenharmony_ci	  This use IPI and IPC to communicate with remote processors.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig RPMSG_QCOM_GLINK
4462306a36Sopenharmony_ci	tristate
4562306a36Sopenharmony_ci	select RPMSG
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig RPMSG_QCOM_GLINK_RPM
4862306a36Sopenharmony_ci	tristate "Qualcomm RPM Glink driver"
4962306a36Sopenharmony_ci	select RPMSG_QCOM_GLINK
5062306a36Sopenharmony_ci	depends on HAS_IOMEM
5162306a36Sopenharmony_ci	depends on MAILBOX
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  Say y here to enable support for the GLINK RPM communication driver,
5462306a36Sopenharmony_ci	  which serves as a channel for communication with the RPM in GLINK
5562306a36Sopenharmony_ci	  enabled systems.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig RPMSG_QCOM_GLINK_SMEM
5862306a36Sopenharmony_ci	tristate "Qualcomm SMEM Glink driver"
5962306a36Sopenharmony_ci	select RPMSG_QCOM_GLINK
6062306a36Sopenharmony_ci	depends on MAILBOX
6162306a36Sopenharmony_ci	depends on QCOM_SMEM
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  Say y here to enable support for the GLINK SMEM communication driver,
6462306a36Sopenharmony_ci	  which provides support for using the GLINK communication protocol
6562306a36Sopenharmony_ci	  over SMEM.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig RPMSG_QCOM_SMD
6862306a36Sopenharmony_ci	tristate "Qualcomm Shared Memory Driver (SMD)"
6962306a36Sopenharmony_ci	depends on MAILBOX
7062306a36Sopenharmony_ci	depends on QCOM_SMEM
7162306a36Sopenharmony_ci	select RPMSG
7262306a36Sopenharmony_ci	help
7362306a36Sopenharmony_ci	  Say y here to enable support for the Qualcomm Shared Memory Driver
7462306a36Sopenharmony_ci	  providing communication channels to remote processors in Qualcomm
7562306a36Sopenharmony_ci	  platforms.
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig RPMSG_VIRTIO
7862306a36Sopenharmony_ci	tristate "Virtio RPMSG bus driver"
7962306a36Sopenharmony_ci	depends on HAS_DMA
8062306a36Sopenharmony_ci	select RPMSG
8162306a36Sopenharmony_ci	select RPMSG_NS
8262306a36Sopenharmony_ci	select VIRTIO
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciendmenu
85