Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Denis Cheng | ae210f1 | 2008-02-02 17:51:35 +0800 | [diff] [blame] | 2 | menuconfig UIO |
Hans J. Koch | beafc54 | 2006-12-07 10:58:29 +0100 | [diff] [blame] | 3 | tristate "Userspace I/O drivers" |
Chen Gang | 3cc1f95 | 2013-08-30 13:01:45 +0800 | [diff] [blame] | 4 | depends on MMU |
Hans J. Koch | beafc54 | 2006-12-07 10:58:29 +0100 | [diff] [blame] | 5 | help |
| 6 | Enable this to allow the userspace driver core code to be |
| 7 | built. This code allows userspace programs easy access to |
| 8 | kernel interrupts and memory locations, allowing some drivers |
| 9 | to be written in userspace. Note that a small kernel driver |
| 10 | is also required for interrupt handling to work properly. |
| 11 | |
| 12 | If you don't know what to do here, say N. |
| 13 | |
Denis Cheng | ae210f1 | 2008-02-02 17:51:35 +0800 | [diff] [blame] | 14 | if UIO |
| 15 | |
Hans-Jürgen Koch | bc4c4f4 | 2007-03-02 13:03:12 +0100 | [diff] [blame] | 16 | config UIO_CIF |
| 17 | tristate "generic Hilscher CIF Card driver" |
Uwe Kleine-König | 934da47 | 2008-05-31 11:37:27 +0200 | [diff] [blame] | 18 | depends on PCI |
Hans-Jürgen Koch | bc4c4f4 | 2007-03-02 13:03:12 +0100 | [diff] [blame] | 19 | help |
| 20 | Driver for Hilscher CIF DeviceNet and Profibus cards. This |
Juerg Haefliger | d9eb958 | 2021-05-17 11:58:37 +0200 | [diff] [blame] | 21 | driver requires a userspace component called cif that handles |
Justin P. Mattock | 631dd1a | 2010-10-18 11:03:14 +0200 | [diff] [blame] | 22 | all of the heavy lifting and can be found at: |
| 23 | <http://www.osadl.org/projects/downloads/UIO/user/> |
Hans-Jürgen Koch | bc4c4f4 | 2007-03-02 13:03:12 +0100 | [diff] [blame] | 24 | |
| 25 | To compile this driver as a module, choose M here: the module |
| 26 | will be called uio_cif. |
| 27 | |
Magnus Damm | c767db0 | 2008-07-11 18:55:27 +0900 | [diff] [blame] | 28 | config UIO_PDRV_GENIRQ |
| 29 | tristate "Userspace I/O platform driver with generic IRQ handling" |
| 30 | help |
| 31 | Platform driver for Userspace I/O devices, including generic |
| 32 | interrupt handling code. Shared interrupts are not supported. |
| 33 | |
| 34 | This kernel driver requires that the matching userspace driver |
| 35 | handles interrupts in a special way. Userspace is responsible |
| 36 | for acknowledging the hardware device if needed, and re-enabling |
| 37 | interrupts in the interrupt controller using the write() syscall. |
| 38 | |
| 39 | If you don't know what to do here, say N. |
| 40 | |
Damian Hobson-Garcia | 0a0c3b5 | 2012-09-25 15:09:11 +0900 | [diff] [blame] | 41 | config UIO_DMEM_GENIRQ |
| 42 | tristate "Userspace platform driver with generic irq and dynamic memory" |
Geert Uytterhoeven | 89fb9e7 | 2013-05-09 23:04:51 +0200 | [diff] [blame] | 43 | depends on HAS_DMA |
Damian Hobson-Garcia | 0a0c3b5 | 2012-09-25 15:09:11 +0900 | [diff] [blame] | 44 | help |
| 45 | Platform driver for Userspace I/O devices, including generic |
| 46 | interrupt handling code. Shared interrupts are not supported. |
| 47 | |
| 48 | Memory regions can be specified with the same platform device |
| 49 | resources as the UIO_PDRV drivers, but dynamic regions can also |
| 50 | be specified. |
| 51 | The number and size of these regions is static, |
| 52 | but the memory allocation is not performed until |
| 53 | the associated device file is opened. The |
| 54 | memory is freed once the uio device is closed. |
| 55 | |
| 56 | If you don't know what to do here, say N. |
| 57 | |
Brandon Philips | 1bafeb3 | 2009-01-27 13:00:04 -0800 | [diff] [blame] | 58 | config UIO_AEC |
| 59 | tristate "AEC video timestamp device" |
| 60 | depends on PCI |
Brandon Philips | 1bafeb3 | 2009-01-27 13:00:04 -0800 | [diff] [blame] | 61 | help |
| 62 | |
| 63 | UIO driver for the Adrienne Electronics Corporation PCI time |
| 64 | code device. |
| 65 | |
| 66 | This device differs from other UIO devices since it uses I/O |
| 67 | ports instead of memory mapped I/O. In order to make it |
| 68 | possible for UIO to work with this device a utility, uioport, |
| 69 | can be used to read and write the ports: |
| 70 | |
| 71 | git clone git://ifup.org/philips/uioport.git |
| 72 | |
| 73 | If you compile this as a module, it will be called uio_aec. |
| 74 | |
John Ogness | a6030fcc | 2008-09-18 11:57:15 +0200 | [diff] [blame] | 75 | config UIO_SERCOS3 |
| 76 | tristate "Automata Sercos III PCI card driver" |
John Ogness | 0a965eb | 2010-02-11 15:38:53 +0100 | [diff] [blame] | 77 | depends on PCI |
John Ogness | a6030fcc | 2008-09-18 11:57:15 +0200 | [diff] [blame] | 78 | help |
| 79 | Userspace I/O interface for the Sercos III PCI card from |
| 80 | Automata GmbH. The userspace part of this driver will be |
| 81 | available for download from the Automata GmbH web site. |
| 82 | |
| 83 | Automata GmbH: http://www.automataweb.com |
| 84 | Sercos III interface: http://www.sercos.com |
| 85 | |
| 86 | If you compile this as a module, it will be called uio_sercos3. |
| 87 | |
Michael S. Tsirkin | ccb86a6 | 2009-07-20 10:29:34 +0300 | [diff] [blame] | 88 | config UIO_PCI_GENERIC |
| 89 | tristate "Generic driver for PCI 2.3 and PCI Express cards" |
| 90 | depends on PCI |
Michael S. Tsirkin | ccb86a6 | 2009-07-20 10:29:34 +0300 | [diff] [blame] | 91 | help |
| 92 | Generic driver that you can bind, dynamically, to any |
| 93 | PCI 2.3 compliant and PCI Express card. It is useful, |
| 94 | primarily, for virtualization scenarios. |
| 95 | If you compile this as a module, it will be called uio_pci_generic. |
| 96 | |
Hans J. Koch | 8f314cf | 2010-02-09 20:13:49 +0100 | [diff] [blame] | 97 | config UIO_NETX |
| 98 | tristate "Hilscher NetX Card driver" |
| 99 | depends on PCI |
| 100 | help |
| 101 | Driver for Hilscher NetX based fieldbus cards (cifX, comX). |
| 102 | This driver requires a userspace component that comes with the card |
| 103 | or is available from Hilscher (http://www.hilscher.com). |
| 104 | |
| 105 | To compile this driver as a module, choose M here; the module |
| 106 | will be called uio_netx. |
| 107 | |
John Ogness | fbc4a8a | 2014-12-09 17:43:10 +0100 | [diff] [blame] | 108 | config UIO_FSL_ELBC_GPCM |
| 109 | tristate "eLBC/GPCM driver" |
| 110 | depends on FSL_LBC |
| 111 | help |
| 112 | Generic driver for accessing a peripheral connected to an eLBC port |
| 113 | that is running in GPCM mode. GPCM is an interface for simple lower |
| 114 | performance memories and memory-mapped devices. For devices using |
| 115 | FCM or UPM eLBC modes, other device-specific drivers are available. |
| 116 | |
| 117 | config UIO_FSL_ELBC_GPCM_NETX5152 |
| 118 | bool "eLBC/GPCM netX 51/52 support" |
| 119 | depends on UIO_FSL_ELBC_GPCM |
| 120 | help |
| 121 | This will add support for netX 51/52 devices connected via eLBC/GPCM. |
| 122 | In particular, it implements interrupt handling. This can be used |
| 123 | together with the userspace netX stack from Hilscher. |
| 124 | |
| 125 | Information about this hardware can be found at: |
| 126 | http://www.hilscher.com/netx |
| 127 | |
Pratheesh Gangadhar | f1a304e | 2011-03-05 04:30:17 +0530 | [diff] [blame] | 128 | config UIO_PRUSS |
| 129 | tristate "Texas Instruments PRUSS driver" |
Matt Porter | 2eb2478 | 2012-10-05 13:04:40 -0400 | [diff] [blame] | 130 | select GENERIC_ALLOCATOR |
Geert Uytterhoeven | 686079c | 2015-06-29 09:12:38 +0200 | [diff] [blame] | 131 | depends on HAS_IOMEM && HAS_DMA |
Pratheesh Gangadhar | f1a304e | 2011-03-05 04:30:17 +0530 | [diff] [blame] | 132 | help |
| 133 | PRUSS driver for OMAPL138/DA850/AM18XX devices |
| 134 | PRUSS driver requires user space components, examples and user space |
| 135 | driver is available from below SVN repo - you may use anonymous login |
| 136 | |
| 137 | https://gforge.ti.com/gf/project/pru_sw/ |
| 138 | |
| 139 | More info on API is available at below wiki |
| 140 | |
| 141 | http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader |
| 142 | |
| 143 | To compile this driver as a module, choose M here: the module |
| 144 | will be called uio_pruss. |
| 145 | |
Rostislav Lisovy | 06849fa | 2013-08-30 14:58:02 +0200 | [diff] [blame] | 146 | config UIO_MF624 |
| 147 | tristate "Humusoft MF624 DAQ PCI card driver" |
| 148 | depends on PCI |
| 149 | help |
| 150 | Userspace I/O interface for the Humusoft MF624 PCI card. |
| 151 | A sample userspace application using this driver is available |
| 152 | (among other MF624 related information and software components) |
| 153 | for download in a git repository: |
| 154 | |
| 155 | git clone git://rtime.felk.cvut.cz/mf6xx.git |
| 156 | |
| 157 | If you compile this as a module, it will be called uio_mf624. |
| 158 | |
Stephen Hemminger | 95096f2 | 2016-12-03 12:34:40 -0800 | [diff] [blame] | 159 | config UIO_HV_GENERIC |
| 160 | tristate "Generic driver for Hyper-V VMBus" |
| 161 | depends on HYPERV |
| 162 | help |
| 163 | Generic driver that you can bind, dynamically, to any |
| 164 | Hyper-V VMBus device. It is useful to provide direct access |
| 165 | to network and storage devices from userspace. |
| 166 | |
| 167 | If you compile this as a module, it will be called uio_hv_generic. |
Xu Yilun | bbfb54e | 2021-03-08 09:59:35 +0800 | [diff] [blame] | 168 | |
| 169 | config UIO_DFL |
| 170 | tristate "Generic driver for DFL (Device Feature List) bus" |
| 171 | depends on FPGA_DFL |
| 172 | help |
| 173 | Generic DFL (Device Feature List) driver for Userspace I/O devices. |
| 174 | It is useful to provide direct access to DFL devices from userspace. |
| 175 | A sample userspace application using this driver is available for |
| 176 | download in a git repository: |
| 177 | |
| 178 | git clone https://github.com/OPAE/opae-sdk.git |
| 179 | |
| 180 | It could be found at: |
| 181 | |
| 182 | opae-sdk/tools/libopaeuio/ |
| 183 | |
| 184 | If you compile this as a module, it will be called uio_dfl. |
Denis Cheng | ae210f1 | 2008-02-02 17:51:35 +0800 | [diff] [blame] | 185 | endif |