# SPDX-License-Identifier: GPL-2.0-only
menuconfig UIO
tristate
"Userspace I/O drivers"
depends
on MMU
help
Enable this
to allow the userspace driver core
code to be
built. This
code allows userspace programs easy
access to
kernel interrupts
and memory locations, allowing some drivers
to be written
in userspace. Note that a small kernel driver
is also required
for interrupt handling
to work properly.
If you don
't know what to do here, say N.
if UIO
config UIO_CIF
tristate
"generic Hilscher CIF Card driver"
depends
on PCI
help
Driver
for Hilscher CIF DeviceNet
and Profibus cards. This
driver requires a userspace component called cif that handles
all of the heavy lifting
and can be found
at:
<
http://www.osadl.org/projects/downloads/UIO/user/>
To compile this driver as a module, choose M here: the module
will be called uio_cif.
config UIO_PDRV_GENIRQ
tristate
"Userspace I/O platform driver with generic IRQ handling"
help
Platform driver
for Userspace I/O devices, including generic
interrupt handling
code. Shared interrupts
are not supported.
This kernel driver requires that the matching userspace driver
handles interrupts
in a special way. Userspace
is responsible
for acknowledging the hardware device
if needed,
and re-enabling
interrupts
in the interrupt controller
using the
write() syscall.
If you don
't know what to do here, say N.
config UIO_DMEM_GENIRQ
tristate
"Userspace platform driver with generic irq and dynamic memory"
depends
on HAS_DMA
help
Platform driver
for Userspace I/O devices, including generic
interrupt handling
code. Shared interrupts
are not supported.
Memory regions can be specified
with the
same platform device
resources as the UIO_PDRV drivers, but
dynamic regions can
also
be specified.
The number
and size of these regions
is static,
but the
memory allocation
is not performed
until
the associated device
file is opened. The
memory is freed once the uio device
is closed.
If you don
't know what to do here, say N.
config UIO_AEC
tristate
"AEC video timestamp device"
depends
on PCI
help
UIO driver
for the Adrienne Electronics Corporation PCI
time
code device.
This device differs
from other UIO devices since it uses I/O
ports instead
of memory mapped I/O.
In order to make it
possible
for UIO
to work
with this device a utility, uioport,
can be used
to read and write the ports:
git clone git://ifup.org/philips/uioport.git
If you compile this as a module, it will be called uio_aec.
config UIO_SERCOS3
tristate
"Automata Sercos III PCI card driver"
depends
on PCI
help
Userspace I/O interface
for the Sercos III PCI card
from
Automata GmbH. The userspace part
of this driver will be
available
for download
from the Automata GmbH web site.
Automata GmbH:
http://www.automataweb.com
Sercos III interface:
http://www.sercos.com
If you compile this as a module, it will be called uio_sercos3.
config UIO_PCI_GENERIC
tristate
"Generic driver for PCI 2.3 and PCI Express cards"
depends
on PCI
help
Generic driver that you can bind, dynamically,
to any
PCI 2.3 compliant
and PCI Express card. It
is useful,
primarily,
for virtualization scenarios.
If you compile this as a module, it will be called uio_pci_generic.
config UIO_NETX
tristate
"Hilscher NetX Card driver"
depends
on PCI
help
Driver
for Hilscher NetX based fieldbus cards (cifX, comX).
This driver requires a userspace component that comes
with the card
or is available
from Hilscher (
http://www.hilscher.com).
To compile this driver as a module, choose M here; the module
will be called uio_netx.
config UIO_FSL_ELBC_GPCM
tristate
"eLBC/GPCM driver"
depends
on FSL_LBC
help
Generic driver
for accessing a peripheral connected
to an eLBC port
that
is running
in GPCM
mode. GPCM
is an interface
for simple lower
performance memories
and memory-mapped devices.
For devices
using
FCM
or UPM eLBC modes,
other device-specific drivers
are available.
config UIO_FSL_ELBC_GPCM_NETX5152
bool
"eLBC/GPCM netX 51/52 support"
depends
on UIO_FSL_ELBC_GPCM
help
This will
add support
for netX 51/52 devices connected via eLBC/GPCM.
In particular, it implements interrupt handling. This can be used
together
with the userspace netX stack
from Hilscher.
Information about this hardware can be found
at:
http://www.hilscher.com/netx
config UIO_MF624
tristate
"Humusoft MF624 DAQ PCI card driver"
depends
on PCI
help
Userspace I/O interface
for the Humusoft MF624 PCI card.
A sample userspace application
using this driver
is available
(among
other MF624 related information
and software components)
for download
in a git
repository:
git clone git://rtime.felk.cvut.cz/mf6xx.git
If you compile this as a module, it will be called uio_mf624.
config UIO_HV_GENERIC
tristate
"Generic driver for Hyper-V VMBus"
depends
on HYPERV
help
Generic driver that you can bind, dynamically,
to any
Hyper-V VMBus device. It
is useful
to provide direct
access
to network
and storage devices
from userspace.
If you compile this as a module, it will be called uio_hv_generic.
config UIO_DFL
tristate
"Generic driver for DFL (Device Feature List) bus"
depends
on FPGA_DFL
help
Generic DFL (Device Feature List) driver
for Userspace I/O devices.
It
is useful
to provide direct
access to DFL devices
from userspace.
A sample userspace application
using this driver
is available
for
download
in a git
repository:
git clone
https://github.com/OPAE/opae-sdk.git
It could be found
at:
opae-sdk/tools/libopaeuio/
If you compile this as a module, it will be called uio_dfl.
endif