xref: /openbmc/linux/drivers/uio/Kconfig (revision bf5bbed1)
1menuconfig UIO
2	tristate "Userspace I/O drivers"
3	depends on !S390
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
28	tristate "Userspace I/O platform driver"
29	help
30	  Generic platform driver for Userspace I/O devices.
31
32	  If you don't know what to do here, say N.
33
34config UIO_PDRV_GENIRQ
35	tristate "Userspace I/O platform driver with generic IRQ handling"
36	help
37	  Platform driver for Userspace I/O devices, including generic
38	  interrupt handling code. Shared interrupts are not supported.
39
40	  This kernel driver requires that the matching userspace driver
41	  handles interrupts in a special way. Userspace is responsible
42	  for acknowledging the hardware device if needed, and re-enabling
43	  interrupts in the interrupt controller using the write() syscall.
44
45	  If you don't know what to do here, say N.
46
47config UIO_DMEM_GENIRQ
48	tristate "Userspace platform driver with generic irq and dynamic memory"
49	help
50	  Platform driver for Userspace I/O devices, including generic
51	  interrupt handling code. Shared interrupts are not supported.
52
53	  Memory regions can be specified with the same platform device
54	  resources as the UIO_PDRV drivers, but dynamic regions can also
55	  be specified.
56	  The number and size of these regions is static,
57	  but the memory allocation is not performed until
58	  the associated device file is opened. The
59	  memory is freed once the uio device is closed.
60
61	  If you don't know what to do here, say N.
62
63config UIO_AEC
64	tristate "AEC video timestamp device"
65	depends on PCI
66	help
67
68	  UIO driver for the Adrienne Electronics Corporation PCI time
69	  code device.
70
71	  This device differs from other UIO devices since it uses I/O
72	  ports instead of memory mapped I/O. In order to make it
73	  possible for UIO to work with this device a utility, uioport,
74	  can be used to read and write the ports:
75
76	    git clone git://ifup.org/philips/uioport.git
77
78	  If you compile this as a module, it will be called uio_aec.
79
80config UIO_SERCOS3
81	tristate "Automata Sercos III PCI card driver"
82	depends on PCI
83	help
84	  Userspace I/O interface for the Sercos III PCI card from
85	  Automata GmbH. The userspace part of this driver will be
86	  available for download from the Automata GmbH web site.
87
88	  Automata GmbH:        http://www.automataweb.com
89	  Sercos III interface: http://www.sercos.com
90
91	  If you compile this as a module, it will be called uio_sercos3.
92
93config UIO_PCI_GENERIC
94	tristate "Generic driver for PCI 2.3 and PCI Express cards"
95	depends on PCI
96	help
97	  Generic driver that you can bind, dynamically, to any
98	  PCI 2.3 compliant and PCI Express card. It is useful,
99	  primarily, for virtualization scenarios.
100	  If you compile this as a module, it will be called uio_pci_generic.
101
102config UIO_NETX
103	tristate "Hilscher NetX Card driver"
104	depends on PCI
105	help
106	  Driver for Hilscher NetX based fieldbus cards (cifX, comX).
107	  This driver requires a userspace component that comes with the card
108	  or is available from Hilscher (http://www.hilscher.com).
109
110	  To compile this driver as a module, choose M here; the module
111	  will be called uio_netx.
112
113config UIO_PRUSS
114	tristate "Texas Instruments PRUSS driver"
115	depends on ARCH_DAVINCI_DA850
116	select GENERIC_ALLOCATOR
117	help
118	  PRUSS driver for OMAPL138/DA850/AM18XX devices
119	  PRUSS driver requires user space components, examples and user space
120	  driver is available from below SVN repo - you may use anonymous login
121
122	  https://gforge.ti.com/gf/project/pru_sw/
123
124	  More info on API is available at below wiki
125
126	  http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
127
128	  To compile this driver as a module, choose M here: the module
129	  will be called uio_pruss.
130
131endif
132