169 строки
5.7 KiB
Plaintext
169 строки
5.7 KiB
Plaintext
# 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_PRUSS
|
|
tristate "Texas Instruments PRUSS driver"
|
|
select GENERIC_ALLOCATOR
|
|
depends on HAS_IOMEM && HAS_DMA
|
|
help
|
|
PRUSS driver for OMAPL138/DA850/AM18XX devices
|
|
PRUSS driver requires user space components, examples and user space
|
|
driver is available from below SVN repo - you may use anonymous login
|
|
|
|
https://gforge.ti.com/gf/project/pru_sw/
|
|
|
|
More info on API is available at below wiki
|
|
|
|
http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called uio_pruss.
|
|
|
|
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.
|
|
endif
|