18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# RapidIO configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig HAVE_RAPIDIO
78c2ecf20Sopenharmony_ci	bool
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimenuconfig RAPIDIO
108c2ecf20Sopenharmony_ci	tristate "RapidIO support"
118c2ecf20Sopenharmony_ci	depends on HAVE_RAPIDIO || PCI
128c2ecf20Sopenharmony_ci	help
138c2ecf20Sopenharmony_ci	  If you say Y here, the kernel will include drivers and
148c2ecf20Sopenharmony_ci	  infrastructure code to support RapidIO interconnect devices.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_cisource "drivers/rapidio/devices/Kconfig"
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconfig RAPIDIO_DISC_TIMEOUT
198c2ecf20Sopenharmony_ci	int "Discovery timeout duration (seconds)"
208c2ecf20Sopenharmony_ci	depends on RAPIDIO
218c2ecf20Sopenharmony_ci	default "30"
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  Amount of time a discovery node waits for a host to complete
248c2ecf20Sopenharmony_ci	  enumeration before giving up.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciconfig RAPIDIO_ENABLE_RX_TX_PORTS
278c2ecf20Sopenharmony_ci	bool "Enable RapidIO Input/Output Ports"
288c2ecf20Sopenharmony_ci	depends on RAPIDIO
298c2ecf20Sopenharmony_ci	help
308c2ecf20Sopenharmony_ci	  The RapidIO specification describes a Output port transmit
318c2ecf20Sopenharmony_ci	  enable and a Input port receive enable. The recommended state
328c2ecf20Sopenharmony_ci	  for Input ports and Output ports should be disabled. When
338c2ecf20Sopenharmony_ci	  this switch is set the RapidIO subsystem will enable all
348c2ecf20Sopenharmony_ci	  ports for Input/Output direction to allow other traffic
358c2ecf20Sopenharmony_ci	  than Maintenance transfers.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciconfig RAPIDIO_DMA_ENGINE
388c2ecf20Sopenharmony_ci	bool "DMA Engine support for RapidIO"
398c2ecf20Sopenharmony_ci	depends on RAPIDIO
408c2ecf20Sopenharmony_ci	depends on DMADEVICES
418c2ecf20Sopenharmony_ci	select DMA_ENGINE
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	  Say Y here if you want to use DMA Engine frameork for RapidIO data
448c2ecf20Sopenharmony_ci	  transfers to/from target RIO devices. RapidIO uses NREAD and
458c2ecf20Sopenharmony_ci	  NWRITE (NWRITE_R, SWRITE) requests to transfer data between local
468c2ecf20Sopenharmony_ci	  memory and memory on remote target device. You need a DMA controller
478c2ecf20Sopenharmony_ci	  capable to perform data transfers to/from RapidIO.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	  If you are unsure about this, say Y here.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciconfig RAPIDIO_DEBUG
528c2ecf20Sopenharmony_ci	bool "RapidIO subsystem debug messages"
538c2ecf20Sopenharmony_ci	depends on RAPIDIO
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  Say Y here if you want the RapidIO subsystem to produce a bunch of
568c2ecf20Sopenharmony_ci	  debug messages to the system log. Select this if you are having a
578c2ecf20Sopenharmony_ci	  problem with the RapidIO subsystem and want to see more of what is
588c2ecf20Sopenharmony_ci	  going on.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci	  If you are unsure about this, say N here.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_cichoice
638c2ecf20Sopenharmony_ci	prompt "Enumeration method"
648c2ecf20Sopenharmony_ci	depends on RAPIDIO
658c2ecf20Sopenharmony_ci	default RAPIDIO_ENUM_BASIC
668c2ecf20Sopenharmony_ci	help
678c2ecf20Sopenharmony_ci	  There are different enumeration and discovery mechanisms offered
688c2ecf20Sopenharmony_ci	  for RapidIO subsystem. You may select single built-in method or
698c2ecf20Sopenharmony_ci	  or any number of methods to be built as modules.
708c2ecf20Sopenharmony_ci	  Selecting a built-in method disables use of loadable methods.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci	  If unsure, select Basic built-in.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciconfig RAPIDIO_ENUM_BASIC
758c2ecf20Sopenharmony_ci	tristate "Basic"
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  This option includes basic RapidIO fabric enumeration and discovery
788c2ecf20Sopenharmony_ci	  mechanism similar to one described in RapidIO specification Annex 1.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciendchoice
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig RAPIDIO_CHMAN
838c2ecf20Sopenharmony_ci	tristate "RapidIO Channelized Messaging driver"
848c2ecf20Sopenharmony_ci	depends on RAPIDIO
858c2ecf20Sopenharmony_ci	help
868c2ecf20Sopenharmony_ci	  This option includes RapidIO channelized messaging driver which
878c2ecf20Sopenharmony_ci	  provides socket-like interface to allow sharing of single RapidIO
888c2ecf20Sopenharmony_ci	  messaging mailbox between multiple user-space applications.
898c2ecf20Sopenharmony_ci	  See "Documentation/driver-api/rapidio/rio_cm.rst" for driver description.
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciconfig RAPIDIO_MPORT_CDEV
928c2ecf20Sopenharmony_ci	tristate "RapidIO /dev mport device driver"
938c2ecf20Sopenharmony_ci	depends on RAPIDIO
948c2ecf20Sopenharmony_ci	help
958c2ecf20Sopenharmony_ci	  This option includes generic RapidIO mport device driver which
968c2ecf20Sopenharmony_ci	  allows to user space applications to perform RapidIO-specific
978c2ecf20Sopenharmony_ci	  operations through selected RapidIO mport.
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_cimenu "RapidIO Switch drivers"
1008c2ecf20Sopenharmony_ci	depends on RAPIDIO
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_cisource "drivers/rapidio/switches/Kconfig"
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciendmenu
105