Loading...
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
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig UIO
3 tristate "Userspace I/O drivers"
4 depends on MMU
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
14if UIO
15
16config UIO_CIF
17 tristate "generic Hilscher CIF Card driver"
18 depends on PCI
19 help
20 Driver for Hilscher CIF DeviceNet and Profibus cards. This
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/>
24
25 To compile this driver as a module, choose M here: the module
26 will be called uio_cif.
27
28config 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
41config UIO_DMEM_GENIRQ
42 tristate "Userspace platform driver with generic irq and dynamic memory"
43 depends on HAS_DMA
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
58config UIO_AEC
59 tristate "AEC video timestamp device"
60 depends on PCI
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
75config UIO_SERCOS3
76 tristate "Automata Sercos III PCI card driver"
77 depends on PCI
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
88config UIO_PCI_GENERIC
89 tristate "Generic driver for PCI 2.3 and PCI Express cards"
90 depends on PCI
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
97config 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
108config 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
117config 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
128config UIO_MF624
129 tristate "Humusoft MF624 DAQ PCI card driver"
130 depends on PCI
131 help
132 Userspace I/O interface for the Humusoft MF624 PCI card.
133 A sample userspace application using this driver is available
134 (among other MF624 related information and software components)
135 for download in a git repository:
136
137 git clone git://rtime.felk.cvut.cz/mf6xx.git
138
139 If you compile this as a module, it will be called uio_mf624.
140
141config UIO_HV_GENERIC
142 tristate "Generic driver for Hyper-V VMBus"
143 depends on HYPERV
144 help
145 Generic driver that you can bind, dynamically, to any
146 Hyper-V VMBus device. It is useful to provide direct access
147 to network and storage devices from userspace.
148
149 If you compile this as a module, it will be called uio_hv_generic.
150
151config UIO_DFL
152 tristate "Generic driver for DFL (Device Feature List) bus"
153 depends on FPGA_DFL
154 help
155 Generic DFL (Device Feature List) driver for Userspace I/O devices.
156 It is useful to provide direct access to DFL devices from userspace.
157 A sample userspace application using this driver is available for
158 download in a git repository:
159
160 git clone https://github.com/OPAE/opae-sdk.git
161
162 It could be found at:
163
164 opae-sdk/tools/libopaeuio/
165
166 If you compile this as a module, it will be called uio_dfl.
167endif