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