1menuconfig UIO 2 tristate "Userspace I/O drivers" 3 help 4 Enable this to allow the userspace driver core code to be 5 built. This code allows userspace programs easy access to 6 kernel interrupts and memory locations, allowing some drivers 7 to be written in userspace. Note that a small kernel driver 8 is also required for interrupt handling to work properly. 9 10 If you don't know what to do here, say N. 11 12if UIO 13 14config UIO_CIF 15 tristate "generic Hilscher CIF Card driver" 16 depends on PCI 17 help 18 Driver for Hilscher CIF DeviceNet and Profibus cards. This 19 driver requires a userspace component called cif that handles 20 all of the heavy lifting and can be found at: 21 <http://www.osadl.org/projects/downloads/UIO/user/> 22 23 To compile this driver as a module, choose M here: the module 24 will be called uio_cif. 25 26config UIO_PDRV 27 tristate "Userspace I/O platform driver" 28 help 29 Generic platform driver for Userspace I/O devices. 30 31 If you don't know what to do here, say N. 32 33config UIO_PDRV_GENIRQ 34 tristate "Userspace I/O platform driver with generic IRQ handling" 35 help 36 Platform driver for Userspace I/O devices, including generic 37 interrupt handling code. Shared interrupts are not supported. 38 39 This kernel driver requires that the matching userspace driver 40 handles interrupts in a special way. Userspace is responsible 41 for acknowledging the hardware device if needed, and re-enabling 42 interrupts in the interrupt controller using the write() syscall. 43 44 If you don't know what to do here, say N. 45 46config UIO_DMEM_GENIRQ 47 tristate "Userspace platform driver with generic irq and dynamic memory" 48 help 49 Platform driver for Userspace I/O devices, including generic 50 interrupt handling code. Shared interrupts are not supported. 51 52 Memory regions can be specified with the same platform device 53 resources as the UIO_PDRV drivers, but dynamic regions can also 54 be specified. 55 The number and size of these regions is static, 56 but the memory allocation is not performed until 57 the associated device file is opened. The 58 memory is freed once the uio device is closed. 59 60 If you don't know what to do here, say N. 61 62config UIO_AEC 63 tristate "AEC video timestamp device" 64 depends on PCI 65 help 66 67 UIO driver for the Adrienne Electronics Corporation PCI time 68 code device. 69 70 This device differs from other UIO devices since it uses I/O 71 ports instead of memory mapped I/O. In order to make it 72 possible for UIO to work with this device a utility, uioport, 73 can be used to read and write the ports: 74 75 git clone git://ifup.org/philips/uioport.git 76 77 If you compile this as a module, it will be called uio_aec. 78 79config UIO_SERCOS3 80 tristate "Automata Sercos III PCI card driver" 81 depends on PCI 82 help 83 Userspace I/O interface for the Sercos III PCI card from 84 Automata GmbH. The userspace part of this driver will be 85 available for download from the Automata GmbH web site. 86 87 Automata GmbH: http://www.automataweb.com 88 Sercos III interface: http://www.sercos.com 89 90 If you compile this as a module, it will be called uio_sercos3. 91 92config UIO_PCI_GENERIC 93 tristate "Generic driver for PCI 2.3 and PCI Express cards" 94 depends on PCI 95 help 96 Generic driver that you can bind, dynamically, to any 97 PCI 2.3 compliant and PCI Express card. It is useful, 98 primarily, for virtualization scenarios. 99 If you compile this as a module, it will be called uio_pci_generic. 100 101config UIO_NETX 102 tristate "Hilscher NetX Card driver" 103 depends on PCI 104 help 105 Driver for Hilscher NetX based fieldbus cards (cifX, comX). 106 This driver requires a userspace component that comes with the card 107 or is available from Hilscher (http://www.hilscher.com). 108 109 To compile this driver as a module, choose M here; the module 110 will be called uio_netx. 111 112config UIO_PRUSS 113 tristate "Texas Instruments PRUSS driver" 114 depends on ARCH_DAVINCI_DA850 115 select GENERIC_ALLOCATOR 116 help 117 PRUSS driver for OMAPL138/DA850/AM18XX devices 118 PRUSS driver requires user space components, examples and user space 119 driver is available from below SVN repo - you may use anonymous login 120 121 https://gforge.ti.com/gf/project/pru_sw/ 122 123 More info on API is available at below wiki 124 125 http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader 126 127 To compile this driver as a module, choose M here: the module 128 will be called uio_pruss. 129 130endif 131