blob: 2e16c5338e5b147adb4a3ffbb31825396a5dd087 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Denis Chengae210f12008-02-02 17:51:35 +08002menuconfig UIO
Hans J. Kochbeafc542006-12-07 10:58:29 +01003 tristate "Userspace I/O drivers"
Chen Gang3cc1f952013-08-30 13:01:45 +08004 depends on MMU
Hans J. Kochbeafc542006-12-07 10:58:29 +01005 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
12 If you don't know what to do here, say N.
13
Denis Chengae210f12008-02-02 17:51:35 +080014if UIO
15
Hans-Jürgen Kochbc4c4f42007-03-02 13:03:12 +010016config UIO_CIF
17 tristate "generic Hilscher CIF Card driver"
Uwe Kleine-König934da472008-05-31 11:37:27 +020018 depends on PCI
Hans-Jürgen Kochbc4c4f42007-03-02 13:03:12 +010019 help
20 Driver for Hilscher CIF DeviceNet and Profibus cards. This
Juerg Haefligerd9eb9582021-05-17 11:58:37 +020021 driver requires a userspace component called cif that handles
Justin P. Mattock631dd1a2010-10-18 11:03:14 +020022 all of the heavy lifting and can be found at:
23 <http://www.osadl.org/projects/downloads/UIO/user/>
Hans-Jürgen Kochbc4c4f42007-03-02 13:03:12 +010024
25 To compile this driver as a module, choose M here: the module
26 will be called uio_cif.
27
Magnus Dammc767db02008-07-11 18:55:27 +090028config UIO_PDRV_GENIRQ
29 tristate "Userspace I/O platform driver with generic IRQ handling"
30 help
31 Platform driver for Userspace I/O devices, including generic
32 interrupt handling code. Shared interrupts are not supported.
33
34 This kernel driver requires that the matching userspace driver
35 handles interrupts in a special way. Userspace is responsible
36 for acknowledging the hardware device if needed, and re-enabling
37 interrupts in the interrupt controller using the write() syscall.
38
39 If you don't know what to do here, say N.
40
Damian Hobson-Garcia0a0c3b52012-09-25 15:09:11 +090041config UIO_DMEM_GENIRQ
42 tristate "Userspace platform driver with generic irq and dynamic memory"
Geert Uytterhoeven89fb9e72013-05-09 23:04:51 +020043 depends on HAS_DMA
Damian Hobson-Garcia0a0c3b52012-09-25 15:09:11 +090044 help
45 Platform driver for Userspace I/O devices, including generic
46 interrupt handling code. Shared interrupts are not supported.
47
48 Memory regions can be specified with the same platform device
49 resources as the UIO_PDRV drivers, but dynamic regions can also
50 be specified.
51 The number and size of these regions is static,
52 but the memory allocation is not performed until
53 the associated device file is opened. The
54 memory is freed once the uio device is closed.
55
56 If you don't know what to do here, say N.
57
Brandon Philips1bafeb32009-01-27 13:00:04 -080058config UIO_AEC
59 tristate "AEC video timestamp device"
60 depends on PCI
Brandon Philips1bafeb32009-01-27 13:00:04 -080061 help
62
63 UIO driver for the Adrienne Electronics Corporation PCI time
64 code device.
65
66 This device differs from other UIO devices since it uses I/O
67 ports instead of memory mapped I/O. In order to make it
68 possible for UIO to work with this device a utility, uioport,
69 can be used to read and write the ports:
70
71 git clone git://ifup.org/philips/uioport.git
72
73 If you compile this as a module, it will be called uio_aec.
74
John Ognessa6030fcc2008-09-18 11:57:15 +020075config UIO_SERCOS3
76 tristate "Automata Sercos III PCI card driver"
John Ogness0a965eb2010-02-11 15:38:53 +010077 depends on PCI
John Ognessa6030fcc2008-09-18 11:57:15 +020078 help
79 Userspace I/O interface for the Sercos III PCI card from
80 Automata GmbH. The userspace part of this driver will be
81 available for download from the Automata GmbH web site.
82
83 Automata GmbH: http://www.automataweb.com
84 Sercos III interface: http://www.sercos.com
85
86 If you compile this as a module, it will be called uio_sercos3.
87
Michael S. Tsirkinccb86a62009-07-20 10:29:34 +030088config UIO_PCI_GENERIC
89 tristate "Generic driver for PCI 2.3 and PCI Express cards"
90 depends on PCI
Michael S. Tsirkinccb86a62009-07-20 10:29:34 +030091 help
92 Generic driver that you can bind, dynamically, to any
93 PCI 2.3 compliant and PCI Express card. It is useful,
94 primarily, for virtualization scenarios.
95 If you compile this as a module, it will be called uio_pci_generic.
96
Hans J. Koch8f314cf2010-02-09 20:13:49 +010097config UIO_NETX
98 tristate "Hilscher NetX Card driver"
99 depends on PCI
100 help
101 Driver for Hilscher NetX based fieldbus cards (cifX, comX).
102 This driver requires a userspace component that comes with the card
103 or is available from Hilscher (http://www.hilscher.com).
104
105 To compile this driver as a module, choose M here; the module
106 will be called uio_netx.
107
John Ognessfbc4a8a2014-12-09 17:43:10 +0100108config UIO_FSL_ELBC_GPCM
109 tristate "eLBC/GPCM driver"
110 depends on FSL_LBC
111 help
112 Generic driver for accessing a peripheral connected to an eLBC port
113 that is running in GPCM mode. GPCM is an interface for simple lower
114 performance memories and memory-mapped devices. For devices using
115 FCM or UPM eLBC modes, other device-specific drivers are available.
116
117config UIO_FSL_ELBC_GPCM_NETX5152
118 bool "eLBC/GPCM netX 51/52 support"
119 depends on UIO_FSL_ELBC_GPCM
120 help
121 This will add support for netX 51/52 devices connected via eLBC/GPCM.
122 In particular, it implements interrupt handling. This can be used
123 together with the userspace netX stack from Hilscher.
124
125 Information about this hardware can be found at:
126 http://www.hilscher.com/netx
127
Pratheesh Gangadharf1a304e2011-03-05 04:30:17 +0530128config UIO_PRUSS
129 tristate "Texas Instruments PRUSS driver"
Matt Porter2eb24782012-10-05 13:04:40 -0400130 select GENERIC_ALLOCATOR
Geert Uytterhoeven686079c2015-06-29 09:12:38 +0200131 depends on HAS_IOMEM && HAS_DMA
Pratheesh Gangadharf1a304e2011-03-05 04:30:17 +0530132 help
133 PRUSS driver for OMAPL138/DA850/AM18XX devices
134 PRUSS driver requires user space components, examples and user space
135 driver is available from below SVN repo - you may use anonymous login
136
137 https://gforge.ti.com/gf/project/pru_sw/
138
139 More info on API is available at below wiki
140
141 http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
142
143 To compile this driver as a module, choose M here: the module
144 will be called uio_pruss.
145
Rostislav Lisovy06849fa2013-08-30 14:58:02 +0200146config UIO_MF624
147 tristate "Humusoft MF624 DAQ PCI card driver"
148 depends on PCI
149 help
150 Userspace I/O interface for the Humusoft MF624 PCI card.
151 A sample userspace application using this driver is available
152 (among other MF624 related information and software components)
153 for download in a git repository:
154
155 git clone git://rtime.felk.cvut.cz/mf6xx.git
156
157 If you compile this as a module, it will be called uio_mf624.
158
Stephen Hemminger95096f22016-12-03 12:34:40 -0800159config UIO_HV_GENERIC
160 tristate "Generic driver for Hyper-V VMBus"
161 depends on HYPERV
162 help
163 Generic driver that you can bind, dynamically, to any
164 Hyper-V VMBus device. It is useful to provide direct access
165 to network and storage devices from userspace.
166
167 If you compile this as a module, it will be called uio_hv_generic.
Xu Yilunbbfb54e2021-03-08 09:59:35 +0800168
169config UIO_DFL
170 tristate "Generic driver for DFL (Device Feature List) bus"
171 depends on FPGA_DFL
172 help
173 Generic DFL (Device Feature List) driver for Userspace I/O devices.
174 It is useful to provide direct access to DFL devices from userspace.
175 A sample userspace application using this driver is available for
176 download in a git repository:
177
178 git clone https://github.com/OPAE/opae-sdk.git
179
180 It could be found at:
181
182 opae-sdk/tools/libopaeuio/
183
184 If you compile this as a module, it will be called uio_dfl.
Denis Chengae210f12008-02-02 17:51:35 +0800185endif