1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "Userspace I/O drivers"
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.
12 If you don't know what to do here, say N.
17 tristate "generic Hilscher CIF Card driver"
20 Driver for Hilscher CIF DeviceNet and Profibus cards. This
21 driver requires a userspace component called cif that handles
22 all of the heavy lifting and can be found at:
23 <http://www.osadl.org/projects/downloads/UIO/user/>
25 To compile this driver as a module, choose M here: the module
26 will be called uio_cif.
28 config UIO_PDRV_GENIRQ
29 tristate "Userspace I/O platform driver with generic IRQ handling"
31 Platform driver for Userspace I/O devices, including generic
32 interrupt handling code. Shared interrupts are not supported.
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.
39 If you don't know what to do here, say N.
41 config UIO_DMEM_GENIRQ
42 tristate "Userspace platform driver with generic irq and dynamic memory"
45 Platform driver for Userspace I/O devices, including generic
46 interrupt handling code. Shared interrupts are not supported.
48 Memory regions can be specified with the same platform device
49 resources as the UIO_PDRV drivers, but dynamic regions can also
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.
56 If you don't know what to do here, say N.
59 tristate "AEC video timestamp device"
63 UIO driver for the Adrienne Electronics Corporation PCI time
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:
71 git clone git://ifup.org/philips/uioport.git
73 If you compile this as a module, it will be called uio_aec.
76 tristate "Automata Sercos III PCI card driver"
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.
83 Automata GmbH: http://www.automataweb.com
84 Sercos III interface: http://www.sercos.com
86 If you compile this as a module, it will be called uio_sercos3.
88 config UIO_PCI_GENERIC
89 tristate "Generic driver for PCI 2.3 and PCI Express cards"
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.
98 tristate "Hilscher NetX Card driver"
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).
105 To compile this driver as a module, choose M here; the module
106 will be called uio_netx.
108 config UIO_FSL_ELBC_GPCM
109 tristate "eLBC/GPCM driver"
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.
117 config UIO_FSL_ELBC_GPCM_NETX5152
118 bool "eLBC/GPCM netX 51/52 support"
119 depends on UIO_FSL_ELBC_GPCM
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.
125 Information about this hardware can be found at:
126 http://www.hilscher.com/netx
129 tristate "Humusoft MF624 DAQ PCI card driver"
132 Userspace I/O interface for the Humusoft MF624 PCI card.
133 A sample userspace application using this driver is available
134 (among other MF624 related information and software components)
135 for download in a git repository:
137 git clone git://rtime.felk.cvut.cz/mf6xx.git
139 If you compile this as a module, it will be called uio_mf624.
141 config UIO_HV_GENERIC
142 tristate "Generic driver for Hyper-V VMBus"
145 Generic driver that you can bind, dynamically, to any
146 Hyper-V VMBus device. It is useful to provide direct access
147 to network and storage devices from userspace.
149 If you compile this as a module, it will be called uio_hv_generic.
152 tristate "Generic driver for DFL (Device Feature List) bus"
155 Generic DFL (Device Feature List) driver for Userspace I/O devices.
156 It is useful to provide direct access to DFL devices from userspace.
157 A sample userspace application using this driver is available for
158 download in a git repository:
160 git clone https://github.com/OPAE/opae-sdk.git
162 It could be found at:
164 opae-sdk/tools/libopaeuio/
166 If you compile this as a module, it will be called uio_dfl.