Kconfig 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menuconfig UIO
  3. tristate "Userspace I/O drivers"
  4. depends on MMU
  5. help
  6. Enable this to allow the userspace driver core code to be
  7. built. This code allows userspace programs easy access to
  8. kernel interrupts and memory locations, allowing some drivers
  9. to be written in userspace. Note that a small kernel driver
  10. is also required for interrupt handling to work properly.
  11. If you don't know what to do here, say N.
  12. if UIO
  13. config UIO_CIF
  14. tristate "generic Hilscher CIF Card driver"
  15. depends on PCI
  16. help
  17. Driver for Hilscher CIF DeviceNet and Profibus cards. This
  18. driver requires a userspace component called cif that handles
  19. all of the heavy lifting and can be found at:
  20. <http://www.osadl.org/projects/downloads/UIO/user/>
  21. To compile this driver as a module, choose M here: the module
  22. will be called uio_cif.
  23. config UIO_PDRV_GENIRQ
  24. tristate "Userspace I/O platform driver with generic IRQ handling"
  25. help
  26. Platform driver for Userspace I/O devices, including generic
  27. interrupt handling code. Shared interrupts are not supported.
  28. This kernel driver requires that the matching userspace driver
  29. handles interrupts in a special way. Userspace is responsible
  30. for acknowledging the hardware device if needed, and re-enabling
  31. interrupts in the interrupt controller using the write() syscall.
  32. If you don't know what to do here, say N.
  33. config UIO_DMEM_GENIRQ
  34. tristate "Userspace platform driver with generic irq and dynamic memory"
  35. depends on HAS_DMA
  36. help
  37. Platform driver for Userspace I/O devices, including generic
  38. interrupt handling code. Shared interrupts are not supported.
  39. Memory regions can be specified with the same platform device
  40. resources as the UIO_PDRV drivers, but dynamic regions can also
  41. be specified.
  42. The number and size of these regions is static,
  43. but the memory allocation is not performed until
  44. the associated device file is opened. The
  45. memory is freed once the uio device is closed.
  46. If you don't know what to do here, say N.
  47. config UIO_AEC
  48. tristate "AEC video timestamp device"
  49. depends on PCI
  50. help
  51. UIO driver for the Adrienne Electronics Corporation PCI time
  52. code device.
  53. This device differs from other UIO devices since it uses I/O
  54. ports instead of memory mapped I/O. In order to make it
  55. possible for UIO to work with this device a utility, uioport,
  56. can be used to read and write the ports:
  57. git clone git://ifup.org/philips/uioport.git
  58. If you compile this as a module, it will be called uio_aec.
  59. config UIO_SERCOS3
  60. tristate "Automata Sercos III PCI card driver"
  61. depends on PCI
  62. help
  63. Userspace I/O interface for the Sercos III PCI card from
  64. Automata GmbH. The userspace part of this driver will be
  65. available for download from the Automata GmbH web site.
  66. Automata GmbH: http://www.automataweb.com
  67. Sercos III interface: http://www.sercos.com
  68. If you compile this as a module, it will be called uio_sercos3.
  69. config UIO_PCI_GENERIC
  70. tristate "Generic driver for PCI 2.3 and PCI Express cards"
  71. depends on PCI
  72. help
  73. Generic driver that you can bind, dynamically, to any
  74. PCI 2.3 compliant and PCI Express card. It is useful,
  75. primarily, for virtualization scenarios.
  76. If you compile this as a module, it will be called uio_pci_generic.
  77. config UIO_NETX
  78. tristate "Hilscher NetX Card driver"
  79. depends on PCI
  80. help
  81. Driver for Hilscher NetX based fieldbus cards (cifX, comX).
  82. This driver requires a userspace component that comes with the card
  83. or is available from Hilscher (http://www.hilscher.com).
  84. To compile this driver as a module, choose M here; the module
  85. will be called uio_netx.
  86. config UIO_FSL_ELBC_GPCM
  87. tristate "eLBC/GPCM driver"
  88. depends on FSL_LBC
  89. help
  90. Generic driver for accessing a peripheral connected to an eLBC port
  91. that is running in GPCM mode. GPCM is an interface for simple lower
  92. performance memories and memory-mapped devices. For devices using
  93. FCM or UPM eLBC modes, other device-specific drivers are available.
  94. config UIO_FSL_ELBC_GPCM_NETX5152
  95. bool "eLBC/GPCM netX 51/52 support"
  96. depends on UIO_FSL_ELBC_GPCM
  97. help
  98. This will add support for netX 51/52 devices connected via eLBC/GPCM.
  99. In particular, it implements interrupt handling. This can be used
  100. together with the userspace netX stack from Hilscher.
  101. Information about this hardware can be found at:
  102. http://www.hilscher.com/netx
  103. config UIO_PRUSS
  104. tristate "Texas Instruments PRUSS driver"
  105. select GENERIC_ALLOCATOR
  106. depends on HAS_IOMEM && HAS_DMA
  107. help
  108. PRUSS driver for OMAPL138/DA850/AM18XX devices
  109. PRUSS driver requires user space components, examples and user space
  110. driver is available from below SVN repo - you may use anonymous login
  111. https://gforge.ti.com/gf/project/pru_sw/
  112. More info on API is available at below wiki
  113. http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
  114. To compile this driver as a module, choose M here: the module
  115. will be called uio_pruss.
  116. config UIO_MF624
  117. tristate "Humusoft MF624 DAQ PCI card driver"
  118. depends on PCI
  119. help
  120. Userspace I/O interface for the Humusoft MF624 PCI card.
  121. A sample userspace application using this driver is available
  122. (among other MF624 related information and software components)
  123. for download in a git repository:
  124. git clone git://rtime.felk.cvut.cz/mf6xx.git
  125. If you compile this as a module, it will be called uio_mf624.
  126. config UIO_HV_GENERIC
  127. tristate "Generic driver for Hyper-V VMBus"
  128. depends on HYPERV
  129. help
  130. Generic driver that you can bind, dynamically, to any
  131. Hyper-V VMBus device. It is useful to provide direct access
  132. to network and storage devices from userspace.
  133. If you compile this as a module, it will be called uio_hv_generic.
  134. config UIO_DFL
  135. tristate "Generic driver for DFL (Device Feature List) bus"
  136. depends on FPGA_DFL
  137. help
  138. Generic DFL (Device Feature List) driver for Userspace I/O devices.
  139. It is useful to provide direct access to DFL devices from userspace.
  140. A sample userspace application using this driver is available for
  141. download in a git repository:
  142. git clone https://github.com/OPAE/opae-sdk.git
  143. It could be found at:
  144. opae-sdk/tools/libopaeuio/
  145. If you compile this as a module, it will be called uio_dfl.
  146. config UIO_MSM_SHAREDMEM
  147. tristate "MSM shared memory driver"
  148. default n
  149. help
  150. Provides the clients with their respective alloted shared memory
  151. addresses which are used as transport buffer.
  152. If you don't know what to do here, say N.
  153. endif