xref: /openbmc/linux/drivers/rapidio/Kconfig (revision d2b86100)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2394b701cSMatt Porter#
3394b701cSMatt Porter# RapidIO configuration
4394b701cSMatt Porter#
51753d50cSChristoph Hellwig
61753d50cSChristoph Hellwigconfig HAVE_RAPIDIO
71753d50cSChristoph Hellwig	bool
81753d50cSChristoph Hellwig
91753d50cSChristoph Hellwigmenuconfig RAPIDIO
101753d50cSChristoph Hellwig	tristate "RapidIO support"
111753d50cSChristoph Hellwig	depends on HAVE_RAPIDIO || PCI
121753d50cSChristoph Hellwig	help
131753d50cSChristoph Hellwig	  If you say Y here, the kernel will include drivers and
141753d50cSChristoph Hellwig	  infrastructure code to support RapidIO interconnect devices.
151753d50cSChristoph Hellwig
1648618fb4SAlexandre Bouninesource "drivers/rapidio/devices/Kconfig"
1748618fb4SAlexandre Bounine
18394b701cSMatt Porterconfig RAPIDIO_DISC_TIMEOUT
19394b701cSMatt Porter	int "Discovery timeout duration (seconds)"
20394b701cSMatt Porter	depends on RAPIDIO
21394b701cSMatt Porter	default "30"
22a7f7f624SMasahiro Yamada	help
23394b701cSMatt Porter	  Amount of time a discovery node waits for a host to complete
2409509603SMatt LaPlante	  enumeration before giving up.
2507590ff0SAlexandre Bounine
26933af4a6SThomas Mollconfig RAPIDIO_ENABLE_RX_TX_PORTS
27933af4a6SThomas Moll	bool "Enable RapidIO Input/Output Ports"
28933af4a6SThomas Moll	depends on RAPIDIO
29a7f7f624SMasahiro Yamada	help
30933af4a6SThomas Moll	  The RapidIO specification describes a Output port transmit
31933af4a6SThomas Moll	  enable and a Input port receive enable. The recommended state
32933af4a6SThomas Moll	  for Input ports and Output ports should be disabled. When
33933af4a6SThomas Moll	  this switch is set the RapidIO subsystem will enable all
34933af4a6SThomas Moll	  ports for Input/Output direction to allow other traffic
35933af4a6SThomas Moll	  than Maintenance transfers.
36933af4a6SThomas Moll
37e42d98ebSAlexandre Bounineconfig RAPIDIO_DMA_ENGINE
38e42d98ebSAlexandre Bounine	bool "DMA Engine support for RapidIO"
39e42d98ebSAlexandre Bounine	depends on RAPIDIO
40*d2b86100SLaurent Pinchart	depends on DMADEVICES
41e42d98ebSAlexandre Bounine	select DMA_ENGINE
42e42d98ebSAlexandre Bounine	help
43e42d98ebSAlexandre Bounine	  Say Y here if you want to use DMA Engine frameork for RapidIO data
44e42d98ebSAlexandre Bounine	  transfers to/from target RIO devices. RapidIO uses NREAD and
45e42d98ebSAlexandre Bounine	  NWRITE (NWRITE_R, SWRITE) requests to transfer data between local
46e42d98ebSAlexandre Bounine	  memory and memory on remote target device. You need a DMA controller
47e42d98ebSAlexandre Bounine	  capable to perform data transfers to/from RapidIO.
48e42d98ebSAlexandre Bounine
49e42d98ebSAlexandre Bounine	  If you are unsure about this, say Y here.
50e42d98ebSAlexandre Bounine
51011507e4SAlexandre Bounineconfig RAPIDIO_DEBUG
52011507e4SAlexandre Bounine	bool "RapidIO subsystem debug messages"
53011507e4SAlexandre Bounine	depends on RAPIDIO
54011507e4SAlexandre Bounine	help
55011507e4SAlexandre Bounine	  Say Y here if you want the RapidIO subsystem to produce a bunch of
56011507e4SAlexandre Bounine	  debug messages to the system log. Select this if you are having a
57011507e4SAlexandre Bounine	  problem with the RapidIO subsystem and want to see more of what is
58011507e4SAlexandre Bounine	  going on.
59011507e4SAlexandre Bounine
60011507e4SAlexandre Bounine	  If you are unsure about this, say N here.
6148618fb4SAlexandre Bounine
62a11650e1SAlexandre Bouninechoice
63a11650e1SAlexandre Bounine	prompt "Enumeration method"
64a11650e1SAlexandre Bounine	depends on RAPIDIO
65a11650e1SAlexandre Bounine	default RAPIDIO_ENUM_BASIC
66a11650e1SAlexandre Bounine	help
67a11650e1SAlexandre Bounine	  There are different enumeration and discovery mechanisms offered
68a11650e1SAlexandre Bounine	  for RapidIO subsystem. You may select single built-in method or
69a11650e1SAlexandre Bounine	  or any number of methods to be built as modules.
70a11650e1SAlexandre Bounine	  Selecting a built-in method disables use of loadable methods.
71a11650e1SAlexandre Bounine
72a11650e1SAlexandre Bounine	  If unsure, select Basic built-in.
73a11650e1SAlexandre Bounine
74a11650e1SAlexandre Bounineconfig RAPIDIO_ENUM_BASIC
75a11650e1SAlexandre Bounine	tristate "Basic"
76a11650e1SAlexandre Bounine	help
77a11650e1SAlexandre Bounine	  This option includes basic RapidIO fabric enumeration and discovery
78a11650e1SAlexandre Bounine	  mechanism similar to one described in RapidIO specification Annex 1.
79a11650e1SAlexandre Bounine
80a11650e1SAlexandre Bounineendchoice
81a11650e1SAlexandre Bounine
82b6e8d4aaSAlexandre Bounineconfig RAPIDIO_CHMAN
83b6e8d4aaSAlexandre Bounine	tristate "RapidIO Channelized Messaging driver"
84b6e8d4aaSAlexandre Bounine	depends on RAPIDIO
85b6e8d4aaSAlexandre Bounine	help
86b6e8d4aaSAlexandre Bounine	  This option includes RapidIO channelized messaging driver which
87b6e8d4aaSAlexandre Bounine	  provides socket-like interface to allow sharing of single RapidIO
88b6e8d4aaSAlexandre Bounine	  messaging mailbox between multiple user-space applications.
89d2bdd48aSMauro Carvalho Chehab	  See "Documentation/driver-api/rapidio/rio_cm.rst" for driver description.
90b6e8d4aaSAlexandre Bounine
91e8de3701SAlexandre Bounineconfig RAPIDIO_MPORT_CDEV
92e8de3701SAlexandre Bounine	tristate "RapidIO /dev mport device driver"
93e8de3701SAlexandre Bounine	depends on RAPIDIO
94e8de3701SAlexandre Bounine	help
95e8de3701SAlexandre Bounine	  This option includes generic RapidIO mport device driver which
96e8de3701SAlexandre Bounine	  allows to user space applications to perform RapidIO-specific
97e8de3701SAlexandre Bounine	  operations through selected RapidIO mport.
98e8de3701SAlexandre Bounine
992ec3ba69SAlexandre Bouninemenu "RapidIO Switch drivers"
1002ec3ba69SAlexandre Bounine	depends on RAPIDIO
1012ec3ba69SAlexandre Bounine
10248618fb4SAlexandre Bouninesource "drivers/rapidio/switches/Kconfig"
1032ec3ba69SAlexandre Bounine
1042ec3ba69SAlexandre Bounineendmenu
105