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