1menuconfig UIO 2 tristate "Userspace I/O drivers" 3 depends on MMU 4 help 5 Enable this to allow the userspace driver core code to be 6 built. This code allows userspace programs easy access to 7 kernel interrupts and memory locations, allowing some drivers 8 to be written in userspace. Note that a small kernel driver 9 is also required for interrupt handling to work properly. 10 11 If you don't know what to do here, say N. 12 13if UIO 14 15config UIO_CIF 16 tristate "generic Hilscher CIF Card driver" 17 depends on PCI 18 help 19 Driver for Hilscher CIF DeviceNet and Profibus cards. This 20 driver requires a userspace component called cif that handles 21 all of the heavy lifting and can be found at: 22 <http://www.osadl.org/projects/downloads/UIO/user/> 23 24 To compile this driver as a module, choose M here: the module 25 will be called uio_cif. 26 27config UIO_PDRV_GENIRQ 28 tristate "Userspace I/O platform driver with generic IRQ handling" 29 help 30 Platform driver for Userspace I/O devices, including generic 31 interrupt handling code. Shared interrupts are not supported. 32 33 This kernel driver requires that the matching userspace driver 34 handles interrupts in a special way. Userspace is responsible 35 for acknowledging the hardware device if needed, and re-enabling 36 interrupts in the interrupt controller using the write() syscall. 37 38 If you don't know what to do here, say N. 39 40config UIO_DMEM_GENIRQ 41 tristate "Userspace platform driver with generic irq and dynamic memory" 42 depends on HAS_DMA 43 help 44 Platform driver for Userspace I/O devices, including generic 45 interrupt handling code. Shared interrupts are not supported. 46 47 Memory regions can be specified with the same platform device 48 resources as the UIO_PDRV drivers, but dynamic regions can also 49 be specified. 50 The number and size of these regions is static, 51 but the memory allocation is not performed until 52 the associated device file is opened. The 53 memory is freed once the uio device is closed. 54 55 If you don't know what to do here, say N. 56 57config UIO_AEC 58 tristate "AEC video timestamp device" 59 depends on PCI 60 help 61 62 UIO driver for the Adrienne Electronics Corporation PCI time 63 code device. 64 65 This device differs from other UIO devices since it uses I/O 66 ports instead of memory mapped I/O. In order to make it 67 possible for UIO to work with this device a utility, uioport, 68 can be used to read and write the ports: 69 70 git clone git://ifup.org/philips/uioport.git 71 72 If you compile this as a module, it will be called uio_aec. 73 74config UIO_SERCOS3 75 tristate "Automata Sercos III PCI card driver" 76 depends on PCI 77 help 78 Userspace I/O interface for the Sercos III PCI card from 79 Automata GmbH. The userspace part of this driver will be 80 available for download from the Automata GmbH web site. 81 82 Automata GmbH: http://www.automataweb.com 83 Sercos III interface: http://www.sercos.com 84 85 If you compile this as a module, it will be called uio_sercos3. 86 87config UIO_PCI_GENERIC 88 tristate "Generic driver for PCI 2.3 and PCI Express cards" 89 depends on PCI 90 help 91 Generic driver that you can bind, dynamically, to any 92 PCI 2.3 compliant and PCI Express card. It is useful, 93 primarily, for virtualization scenarios. 94 If you compile this as a module, it will be called uio_pci_generic. 95 96config UIO_NETX 97 tristate "Hilscher NetX Card driver" 98 depends on PCI 99 help 100 Driver for Hilscher NetX based fieldbus cards (cifX, comX). 101 This driver requires a userspace component that comes with the card 102 or is available from Hilscher (http://www.hilscher.com). 103 104 To compile this driver as a module, choose M here; the module 105 will be called uio_netx. 106 107config UIO_FSL_ELBC_GPCM 108 tristate "eLBC/GPCM driver" 109 depends on FSL_LBC 110 help 111 Generic driver for accessing a peripheral connected to an eLBC port 112 that is running in GPCM mode. GPCM is an interface for simple lower 113 performance memories and memory-mapped devices. For devices using 114 FCM or UPM eLBC modes, other device-specific drivers are available. 115 116config UIO_FSL_ELBC_GPCM_NETX5152 117 bool "eLBC/GPCM netX 51/52 support" 118 depends on UIO_FSL_ELBC_GPCM 119 help 120 This will add support for netX 51/52 devices connected via eLBC/GPCM. 121 In particular, it implements interrupt handling. This can be used 122 together with the userspace netX stack from Hilscher. 123 124 Information about this hardware can be found at: 125 http://www.hilscher.com/netx 126 127config UIO_PRUSS 128 tristate "Texas Instruments PRUSS driver" 129 select GENERIC_ALLOCATOR 130 depends on HAS_IOMEM && HAS_DMA 131 help 132 PRUSS driver for OMAPL138/DA850/AM18XX devices 133 PRUSS driver requires user space components, examples and user space 134 driver is available from below SVN repo - you may use anonymous login 135 136 https://gforge.ti.com/gf/project/pru_sw/ 137 138 More info on API is available at below wiki 139 140 http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader 141 142 To compile this driver as a module, choose M here: the module 143 will be called uio_pruss. 144 145config UIO_MF624 146 tristate "Humusoft MF624 DAQ PCI card driver" 147 depends on PCI 148 help 149 Userspace I/O interface for the Humusoft MF624 PCI card. 150 A sample userspace application using this driver is available 151 (among other MF624 related information and software components) 152 for download in a git repository: 153 154 git clone git://rtime.felk.cvut.cz/mf6xx.git 155 156 If you compile this as a module, it will be called uio_mf624. 157 158config UIO_HV_GENERIC 159 tristate "Generic driver for Hyper-V VMBus" 160 depends on HYPERV 161 help 162 Generic driver that you can bind, dynamically, to any 163 Hyper-V VMBus device. It is useful to provide direct access 164 to network and storage devices from userspace. 165 166 If you compile this as a module, it will be called uio_hv_generic. 167endif 168