Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig UIO
0003         tristate "Userspace I/O drivers"
0004         depends on MMU
0005         help
0006           Enable this to allow the userspace driver core code to be
0007           built.  This code allows userspace programs easy access to
0008           kernel interrupts and memory locations, allowing some drivers
0009           to be written in userspace.  Note that a small kernel driver
0010           is also required for interrupt handling to work properly.
0011 
0012           If you don't know what to do here, say N.
0013 
0014 if UIO
0015 
0016 config UIO_CIF
0017         tristate "generic Hilscher CIF Card driver"
0018         depends on PCI
0019         help
0020           Driver for Hilscher CIF DeviceNet and Profibus cards.  This
0021           driver requires a userspace component called cif that handles
0022           all of the heavy lifting and can be found at:
0023                 <http://www.osadl.org/projects/downloads/UIO/user/>
0024 
0025           To compile this driver as a module, choose M here: the module
0026           will be called uio_cif.
0027 
0028 config UIO_PDRV_GENIRQ
0029         tristate "Userspace I/O platform driver with generic IRQ handling"
0030         help
0031           Platform driver for Userspace I/O devices, including generic
0032           interrupt handling code. Shared interrupts are not supported.
0033 
0034           This kernel driver requires that the matching userspace driver
0035           handles interrupts in a special way. Userspace is responsible
0036           for acknowledging the hardware device if needed, and re-enabling
0037           interrupts in the interrupt controller using the write() syscall.
0038 
0039           If you don't know what to do here, say N.
0040 
0041 config UIO_DMEM_GENIRQ
0042         tristate "Userspace platform driver with generic irq and dynamic memory"
0043         depends on HAS_DMA
0044         help
0045           Platform driver for Userspace I/O devices, including generic
0046           interrupt handling code. Shared interrupts are not supported.
0047 
0048           Memory regions can be specified with the same platform device
0049           resources as the UIO_PDRV drivers, but dynamic regions can also
0050           be specified.
0051           The number and size of these regions is static,
0052           but the memory allocation is not performed until
0053           the associated device file is opened. The
0054           memory is freed once the uio device is closed.
0055 
0056           If you don't know what to do here, say N.
0057 
0058 config UIO_AEC
0059         tristate "AEC video timestamp device"
0060         depends on PCI
0061         help
0062 
0063           UIO driver for the Adrienne Electronics Corporation PCI time
0064           code device.
0065 
0066           This device differs from other UIO devices since it uses I/O
0067           ports instead of memory mapped I/O. In order to make it
0068           possible for UIO to work with this device a utility, uioport,
0069           can be used to read and write the ports:
0070 
0071             git clone git://ifup.org/philips/uioport.git
0072 
0073           If you compile this as a module, it will be called uio_aec.
0074 
0075 config UIO_SERCOS3
0076         tristate "Automata Sercos III PCI card driver"
0077         depends on PCI
0078         help
0079           Userspace I/O interface for the Sercos III PCI card from
0080           Automata GmbH. The userspace part of this driver will be
0081           available for download from the Automata GmbH web site.
0082 
0083           Automata GmbH:        http://www.automataweb.com
0084           Sercos III interface: http://www.sercos.com
0085 
0086           If you compile this as a module, it will be called uio_sercos3.
0087 
0088 config UIO_PCI_GENERIC
0089         tristate "Generic driver for PCI 2.3 and PCI Express cards"
0090         depends on PCI
0091         help
0092           Generic driver that you can bind, dynamically, to any
0093           PCI 2.3 compliant and PCI Express card. It is useful,
0094           primarily, for virtualization scenarios.
0095           If you compile this as a module, it will be called uio_pci_generic.
0096 
0097 config UIO_NETX
0098         tristate "Hilscher NetX Card driver"
0099         depends on PCI
0100         help
0101           Driver for Hilscher NetX based fieldbus cards (cifX, comX).
0102           This driver requires a userspace component that comes with the card
0103           or is available from Hilscher (http://www.hilscher.com).
0104 
0105           To compile this driver as a module, choose M here; the module
0106           will be called uio_netx.
0107 
0108 config UIO_FSL_ELBC_GPCM
0109         tristate "eLBC/GPCM driver"
0110         depends on FSL_LBC
0111         help
0112           Generic driver for accessing a peripheral connected to an eLBC port
0113           that is running in GPCM mode. GPCM is an interface for simple lower
0114           performance memories and memory-mapped devices. For devices using
0115           FCM or UPM eLBC modes, other device-specific drivers are available.
0116 
0117 config UIO_FSL_ELBC_GPCM_NETX5152
0118         bool "eLBC/GPCM netX 51/52 support"
0119         depends on UIO_FSL_ELBC_GPCM
0120         help
0121           This will add support for netX 51/52 devices connected via eLBC/GPCM.
0122           In particular, it implements interrupt handling. This can be used
0123           together with the userspace netX stack from Hilscher.
0124 
0125           Information about this hardware can be found at:
0126           http://www.hilscher.com/netx
0127 
0128 config UIO_PRUSS
0129         tristate "Texas Instruments PRUSS driver"
0130         select GENERIC_ALLOCATOR
0131         depends on HAS_IOMEM && HAS_DMA
0132         help
0133           PRUSS driver for OMAPL138/DA850/AM18XX devices
0134           PRUSS driver requires user space components, examples and user space
0135           driver is available from below SVN repo - you may use anonymous login
0136 
0137           https://gforge.ti.com/gf/project/pru_sw/
0138 
0139           More info on API is available at below wiki
0140 
0141           http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
0142 
0143           To compile this driver as a module, choose M here: the module
0144           will be called uio_pruss.
0145 
0146 config UIO_MF624
0147         tristate "Humusoft MF624 DAQ PCI card driver"
0148         depends on PCI
0149         help
0150           Userspace I/O interface for the Humusoft MF624 PCI card.
0151           A sample userspace application using this driver is available
0152           (among other MF624 related information and software components)
0153           for download in a git repository:
0154 
0155             git clone git://rtime.felk.cvut.cz/mf6xx.git
0156 
0157           If you compile this as a module, it will be called uio_mf624.
0158 
0159 config UIO_HV_GENERIC
0160         tristate "Generic driver for Hyper-V VMBus"
0161         depends on HYPERV
0162         help
0163           Generic driver that you can bind, dynamically, to any
0164           Hyper-V VMBus device. It is useful to provide direct access
0165           to network and storage devices from userspace.
0166 
0167           If you compile this as a module, it will be called uio_hv_generic.
0168 
0169 config UIO_DFL
0170         tristate "Generic driver for DFL (Device Feature List) bus"
0171         depends on FPGA_DFL
0172         help
0173           Generic DFL (Device Feature List) driver for Userspace I/O devices.
0174           It is useful to provide direct access to DFL devices from userspace.
0175           A sample userspace application using this driver is available for
0176           download in a git repository:
0177 
0178             git clone https://github.com/OPAE/opae-sdk.git
0179 
0180           It could be found at:
0181 
0182             opae-sdk/tools/libopaeuio/
0183 
0184           If you compile this as a module, it will be called uio_dfl.
0185 endif