# SPDX-License-Identifier: GPL-2.0-only
#
# RapidIO configuration
#

config HAVE_RAPIDIO
	bool

menuconfig RAPIDIO
	tristate "RapidIO support"
	depends on HAVE_RAPIDIO || PCI
	help
	  If you say Y here, the kernel will include drivers and
	  infrastructure code to support RapidIO interconnect devices.

source "drivers/rapidio/devices/Kconfig"

config RAPIDIO_DISC_TIMEOUT
	int "Discovery timeout duration (seconds)"
	depends on RAPIDIO
	default "30"
	help
	  Amount of time a discovery node waits for a host to complete
	  enumeration before giving up.

config RAPIDIO_ENABLE_RX_TX_PORTS
	bool "Enable RapidIO Input/Output Ports"
	depends on RAPIDIO
	help
	  The RapidIO specification describes a Output port transmit
	  enable and a Input port receive enable. The recommended state
	  for Input ports and Output ports should be disabled. When
	  this switch is set the RapidIO subsystem will enable all
	  ports for Input/Output direction to allow other traffic
	  than Maintenance transfers.

config RAPIDIO_DMA_ENGINE
	bool "DMA Engine support for RapidIO"
	depends on RAPIDIO
	depends on DMADEVICES
	select DMA_ENGINE
	help
	  Say Y here if you want to use DMA Engine frameork for RapidIO data
	  transfers to/from target RIO devices. RapidIO uses NREAD and
	  NWRITE (NWRITE_R, SWRITE) requests to transfer data between local
	  memory and memory on remote target device. You need a DMA controller
	  capable to perform data transfers to/from RapidIO.

	  If you are unsure about this, say Y here.

config RAPIDIO_DEBUG
	bool "RapidIO subsystem debug messages"
	depends on RAPIDIO
	help
	  Say Y here if you want the RapidIO subsystem to produce a bunch of
	  debug messages to the system log. Select this if you are having a
	  problem with the RapidIO subsystem and want to see more of what is
	  going on.

	  If you are unsure about this, say N here.

config RAPIDIO_ENUM_BASIC
	tristate "Basic Enumeration method"
	depends on RAPIDIO
	help
	  This option includes basic RapidIO fabric enumeration and discovery
	  mechanism similar to one described in RapidIO specification Annex 1.

config RAPIDIO_CHMAN
	tristate "RapidIO Channelized Messaging driver"
	depends on RAPIDIO
	help
	  This option includes RapidIO channelized messaging driver which
	  provides socket-like interface to allow sharing of single RapidIO
	  messaging mailbox between multiple user-space applications.
	  See "Documentation/driver-api/rapidio/rio_cm.rst" for driver description.

config RAPIDIO_MPORT_CDEV
	tristate "RapidIO /dev mport device driver"
	depends on RAPIDIO
	help
	  This option includes generic RapidIO mport device driver which
	  allows to user space applications to perform RapidIO-specific
	  operations through selected RapidIO mport.

menu "RapidIO Switch drivers"
	depends on RAPIDIO

source "drivers/rapidio/switches/Kconfig"

endmenu
