Merge remote-tracking branch 'lsk/v3.10/topic/arm64-perf' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / uio / Kconfig
1 menuconfig 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
12 if UIO
13
14 config 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
26 config 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
33 config 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
46 config UIO_DMEM_GENIRQ
47         tristate "Userspace platform driver with generic irq and dynamic memory"
48         depends on HAS_DMA
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
63 config 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
80 config 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
93 config 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
102 config 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
113 config 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
131 endif