Kconfig 2.89 KB
# 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_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_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_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 VIRTIO

config HAVE_IMX_RPMSG
	bool "IMX RPMSG driver on the AMP SOCs"
	default y
	depends on IMX_MBOX
	select RPMSG_VIRTIO
	help
	  Say y here to enable support for the iMX Rpmsg Driver	providing
	  communication channels to remote processors in iMX asymmetric
	  multiprocessing (AMP) platforms.

	  Especially, it is mandatory required when the partition reset is
	  required on some iMX AMP platforms.

config IMX_RPMSG_PINGPONG
	tristate "IMX RPMSG pingpong driver -- loadable modules only"
	default m
	depends on HAVE_IMX_RPMSG && m
	help
	  One 32bit unsigned int data transactions demoe between the A core
	  and the remote M core on the iMX AMP platforms.

	  Only the module mode is supported here, the demo would be kicked off
	  immediately when this module is insmoded.

config IMX_RPMSG_TTY
	tristate "IMX RPMSG tty driver -- loadable modules only"
	default m
	depends on HAVE_IMX_RPMSG && m
	help
	  Demostrate the string transmission from A core to the remote M core
	  on the iMX AMP platforms.

	  Only the module mode is supported here. The according device node
	  would be created after this module is insmoded. the demo would be
	  executed by the command "echo <string> > <accordingly node>", thus
	  remote M core would receive the string.

endmenu