xref: /openbmc/linux/drivers/uio/Kconfig (revision c423c8ff)
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