xref: /OK3568_Linux_fs/kernel/drivers/rapidio/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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