Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
ae210f18 | 2 | menuconfig UIO |
beafc54c | 3 | tristate "Userspace I/O drivers" |
3cc1f952 | 4 | depends on MMU |
beafc54c HK |
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 | ||
ae210f18 DC |
14 | if UIO |
15 | ||
bc4c4f45 HJK |
16 | config UIO_CIF |
17 | tristate "generic Hilscher CIF Card driver" | |
934da476 | 18 | depends on PCI |
bc4c4f45 HJK |
19 | help |
20 | Driver for Hilscher CIF DeviceNet and Profibus cards. This | |
631dd1a8 JM |
21 | driver requires a userspace component called cif that handles |
22 | all of the heavy lifting and can be found at: | |
23 | <http://www.osadl.org/projects/downloads/UIO/user/> | |
bc4c4f45 HJK |
24 | |
25 | To compile this driver as a module, choose M here: the module | |
26 | will be called uio_cif. | |
27 | ||
c767db0a MD |
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 | ||
0a0c3b5a DHG |
41 | config UIO_DMEM_GENIRQ |
42 | tristate "Userspace platform driver with generic irq and dynamic memory" | |
89fb9e7c | 43 | depends on HAS_DMA |
0a0c3b5a DHG |
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 | ||
1bafeb37 BP |
58 | config UIO_AEC |
59 | tristate "AEC video timestamp device" | |
60 | depends on PCI | |
1bafeb37 BP |
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 | ||
a6030fcc JO |
75 | config UIO_SERCOS3 |
76 | tristate "Automata Sercos III PCI card driver" | |
0a965eb9 | 77 | depends on PCI |
a6030fcc JO |
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 | ||
ccb86a69 MT |
88 | config UIO_PCI_GENERIC |
89 | tristate "Generic driver for PCI 2.3 and PCI Express cards" | |
90 | depends on PCI | |
ccb86a69 MT |
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 | ||
8f314cfc HK |
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 | ||
fbc4a8a8 JO |
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 | ||
f1a304e7 PG |
128 | config UIO_PRUSS |
129 | tristate "Texas Instruments PRUSS driver" | |
2eb2478d | 130 | select GENERIC_ALLOCATOR |
686079c9 | 131 | depends on HAS_IOMEM && HAS_DMA |
f1a304e7 PG |
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 | ||
06849faa RL |
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 | ||
95096f2f SH |
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. | |
ae210f18 | 168 | endif |