| # 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 |