xref: /openbmc/linux/drivers/uio/Kconfig (revision 075a46a0)
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_AEC
48	tristate "AEC video timestamp device"
49	depends on PCI
50	help
51
52	  UIO driver for the Adrienne Electronics Corporation PCI time
53	  code device.
54
55	  This device differs from other UIO devices since it uses I/O
56	  ports instead of memory mapped I/O. In order to make it
57	  possible for UIO to work with this device a utility, uioport,
58	  can be used to read and write the ports:
59
60	    git clone git://ifup.org/philips/uioport.git
61
62	  If you compile this as a module, it will be called uio_aec.
63
64config UIO_SERCOS3
65	tristate "Automata Sercos III PCI card driver"
66	depends on PCI
67	help
68	  Userspace I/O interface for the Sercos III PCI card from
69	  Automata GmbH. The userspace part of this driver will be
70	  available for download from the Automata GmbH web site.
71
72	  Automata GmbH:        http://www.automataweb.com
73	  Sercos III interface: http://www.sercos.com
74
75	  If you compile this as a module, it will be called uio_sercos3.
76
77config UIO_PCI_GENERIC
78	tristate "Generic driver for PCI 2.3 and PCI Express cards"
79	depends on PCI
80	help
81	  Generic driver that you can bind, dynamically, to any
82	  PCI 2.3 compliant and PCI Express card. It is useful,
83	  primarily, for virtualization scenarios.
84	  If you compile this as a module, it will be called uio_pci_generic.
85
86config UIO_NETX
87	tristate "Hilscher NetX Card driver"
88	depends on PCI
89	help
90	  Driver for Hilscher NetX based fieldbus cards (cifX, comX).
91	  This driver requires a userspace component that comes with the card
92	  or is available from Hilscher (http://www.hilscher.com).
93
94	  To compile this driver as a module, choose M here; the module
95	  will be called uio_netx.
96
97config UIO_PRUSS
98	tristate "Texas Instruments PRUSS driver"
99	depends on ARCH_DAVINCI_DA850
100	help
101	  PRUSS driver for OMAPL138/DA850/AM18XX devices
102	  PRUSS driver requires user space components, examples and user space
103	  driver is available from below SVN repo - you may use anonymous login
104
105	  https://gforge.ti.com/gf/project/pru_sw/
106
107	  More info on API is available at below wiki
108
109	  http://processors.wiki.ti.com/index.php/PRU_Linux_Application_Loader
110
111	  To compile this driver as a module, choose M here: the module
112	  will be called uio_pruss.
113
114endif
115