xref: /openbmc/linux/drivers/uio/Kconfig (revision e23feb16)
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_PRUSS
108	tristate "Texas Instruments PRUSS driver"
109	depends on ARCH_DAVINCI_DA850
110	select GENERIC_ALLOCATOR
111	help
112	  PRUSS driver for OMAPL138/DA850/AM18XX devices
113	  PRUSS driver requires user space components, examples and user space
114	  driver is available from below SVN repo - you may use anonymous login
115
116	  https://gforge.ti.com/gf/project/pru_sw/
117
118	  More info on API is available at below wiki
119
120	  http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
121
122	  To compile this driver as a module, choose M here: the module
123	  will be called uio_pruss.
124
125config UIO_MF624
126	tristate "Humusoft MF624 DAQ PCI card driver"
127	depends on PCI
128	help
129	  Userspace I/O interface for the Humusoft MF624 PCI card.
130	  A sample userspace application using this driver is available
131	  (among other MF624 related information and software components)
132	  for download in a git repository:
133
134	    git clone git://rtime.felk.cvut.cz/mf6xx.git
135
136	  If you compile this as a module, it will be called uio_mf624.
137
138endif
139