1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# RapidIO configuration 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunconfig HAVE_RAPIDIO 7*4882a593Smuzhiyun bool 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmenuconfig RAPIDIO 10*4882a593Smuzhiyun tristate "RapidIO support" 11*4882a593Smuzhiyun depends on HAVE_RAPIDIO || PCI 12*4882a593Smuzhiyun help 13*4882a593Smuzhiyun If you say Y here, the kernel will include drivers and 14*4882a593Smuzhiyun infrastructure code to support RapidIO interconnect devices. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunsource "drivers/rapidio/devices/Kconfig" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunconfig RAPIDIO_DISC_TIMEOUT 19*4882a593Smuzhiyun int "Discovery timeout duration (seconds)" 20*4882a593Smuzhiyun depends on RAPIDIO 21*4882a593Smuzhiyun default "30" 22*4882a593Smuzhiyun help 23*4882a593Smuzhiyun Amount of time a discovery node waits for a host to complete 24*4882a593Smuzhiyun enumeration before giving up. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyunconfig RAPIDIO_ENABLE_RX_TX_PORTS 27*4882a593Smuzhiyun bool "Enable RapidIO Input/Output Ports" 28*4882a593Smuzhiyun depends on RAPIDIO 29*4882a593Smuzhiyun help 30*4882a593Smuzhiyun The RapidIO specification describes a Output port transmit 31*4882a593Smuzhiyun enable and a Input port receive enable. The recommended state 32*4882a593Smuzhiyun for Input ports and Output ports should be disabled. When 33*4882a593Smuzhiyun this switch is set the RapidIO subsystem will enable all 34*4882a593Smuzhiyun ports for Input/Output direction to allow other traffic 35*4882a593Smuzhiyun than Maintenance transfers. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig RAPIDIO_DMA_ENGINE 38*4882a593Smuzhiyun bool "DMA Engine support for RapidIO" 39*4882a593Smuzhiyun depends on RAPIDIO 40*4882a593Smuzhiyun depends on DMADEVICES 41*4882a593Smuzhiyun select DMA_ENGINE 42*4882a593Smuzhiyun help 43*4882a593Smuzhiyun Say Y here if you want to use DMA Engine frameork for RapidIO data 44*4882a593Smuzhiyun transfers to/from target RIO devices. RapidIO uses NREAD and 45*4882a593Smuzhiyun NWRITE (NWRITE_R, SWRITE) requests to transfer data between local 46*4882a593Smuzhiyun memory and memory on remote target device. You need a DMA controller 47*4882a593Smuzhiyun capable to perform data transfers to/from RapidIO. 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun If you are unsure about this, say Y here. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyunconfig RAPIDIO_DEBUG 52*4882a593Smuzhiyun bool "RapidIO subsystem debug messages" 53*4882a593Smuzhiyun depends on RAPIDIO 54*4882a593Smuzhiyun help 55*4882a593Smuzhiyun Say Y here if you want the RapidIO subsystem to produce a bunch of 56*4882a593Smuzhiyun debug messages to the system log. Select this if you are having a 57*4882a593Smuzhiyun problem with the RapidIO subsystem and want to see more of what is 58*4882a593Smuzhiyun going on. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun If you are unsure about this, say N here. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyunchoice 63*4882a593Smuzhiyun prompt "Enumeration method" 64*4882a593Smuzhiyun depends on RAPIDIO 65*4882a593Smuzhiyun default RAPIDIO_ENUM_BASIC 66*4882a593Smuzhiyun help 67*4882a593Smuzhiyun There are different enumeration and discovery mechanisms offered 68*4882a593Smuzhiyun for RapidIO subsystem. You may select single built-in method or 69*4882a593Smuzhiyun or any number of methods to be built as modules. 70*4882a593Smuzhiyun Selecting a built-in method disables use of loadable methods. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun If unsure, select Basic built-in. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyunconfig RAPIDIO_ENUM_BASIC 75*4882a593Smuzhiyun tristate "Basic" 76*4882a593Smuzhiyun help 77*4882a593Smuzhiyun This option includes basic RapidIO fabric enumeration and discovery 78*4882a593Smuzhiyun mechanism similar to one described in RapidIO specification Annex 1. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunendchoice 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunconfig RAPIDIO_CHMAN 83*4882a593Smuzhiyun tristate "RapidIO Channelized Messaging driver" 84*4882a593Smuzhiyun depends on RAPIDIO 85*4882a593Smuzhiyun help 86*4882a593Smuzhiyun This option includes RapidIO channelized messaging driver which 87*4882a593Smuzhiyun provides socket-like interface to allow sharing of single RapidIO 88*4882a593Smuzhiyun messaging mailbox between multiple user-space applications. 89*4882a593Smuzhiyun See "Documentation/driver-api/rapidio/rio_cm.rst" for driver description. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunconfig RAPIDIO_MPORT_CDEV 92*4882a593Smuzhiyun tristate "RapidIO /dev mport device driver" 93*4882a593Smuzhiyun depends on RAPIDIO 94*4882a593Smuzhiyun help 95*4882a593Smuzhiyun This option includes generic RapidIO mport device driver which 96*4882a593Smuzhiyun allows to user space applications to perform RapidIO-specific 97*4882a593Smuzhiyun operations through selected RapidIO mport. 98*4882a593Smuzhiyun 99*4882a593Smuzhiyunmenu "RapidIO Switch drivers" 100*4882a593Smuzhiyun depends on RAPIDIO 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunsource "drivers/rapidio/switches/Kconfig" 103*4882a593Smuzhiyun 104*4882a593Smuzhiyunendmenu 105