Merge tag 'qcom-drivers-for-6.9-2' of https://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / drivers / media / rc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 menuconfig RC_CORE
4         tristate "Remote Controller support"
5         depends on INPUT
6         help
7           Enable support for Remote Controllers on Linux. This is
8           needed in order to support several video capture adapters,
9           standalone IR receivers/transmitters, and RF receivers.
10
11           Enable this option if you have a video capture board even
12           if you don't need IR, as otherwise, you may not be able to
13           compile the driver for your adapter.
14
15           Say Y when you have a TV or an IR device.
16
17 if RC_CORE
18
19 config BPF_LIRC_MODE2
20         bool "Support for eBPF programs attached to lirc devices"
21         depends on BPF_SYSCALL
22         depends on RC_CORE=y
23         depends on LIRC
24         help
25            Allow attaching eBPF programs to a lirc device using the bpf(2)
26            syscall command BPF_PROG_ATTACH. This is supported for raw IR
27            receivers.
28
29            These eBPF programs can be used to decode IR into scancodes, for
30            IR protocols not supported by the kernel decoders.
31
32 config LIRC
33         bool "LIRC user interface"
34         help
35            Enable this option to enable the Linux Infrared Remote
36            Control user interface (e.g. /dev/lirc*). This interface
37            passes raw IR to and from userspace, which is needed for
38            IR transmitting (aka "blasting") and for the lirc daemon.
39
40 source "drivers/media/rc/keymaps/Kconfig"
41
42 menuconfig RC_DECODERS
43         bool "Remote controller decoders"
44
45 if RC_DECODERS
46
47 config IR_IMON_DECODER
48         tristate "Enable IR raw decoder for the iMON protocol"
49         help
50            Enable this option if you have iMON PAD or Antec Veris infrared
51            remote control and you would like to use it with a raw IR
52            receiver, or if you wish to use an encoder to transmit this IR.
53
54 config IR_JVC_DECODER
55         tristate "Enable IR raw decoder for the JVC protocol"
56         select BITREVERSE
57
58         help
59            Enable this option if you have an infrared remote control which
60            uses the JVC protocol, and you need software decoding support.
61
62 config IR_MCE_KBD_DECODER
63         tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
64         select BITREVERSE
65
66         help
67            Enable this option if you have a Microsoft Remote Keyboard for
68            Windows Media Center Edition, which you would like to use with
69            a raw IR receiver in your system.
70
71 config IR_NEC_DECODER
72         tristate "Enable IR raw decoder for the NEC protocol"
73         select BITREVERSE
74
75         help
76            Enable this option if you have IR with NEC protocol, and
77            if the IR is decoded in software
78
79 config IR_RC5_DECODER
80         tristate "Enable IR raw decoder for the RC-5 protocol"
81         select BITREVERSE
82
83         help
84            Enable this option if you have IR with RC-5 protocol, and
85            if the IR is decoded in software
86
87 config IR_RC6_DECODER
88         tristate "Enable IR raw decoder for the RC6 protocol"
89         select BITREVERSE
90
91         help
92            Enable this option if you have an infrared remote control which
93            uses the RC6 protocol, and you need software decoding support.
94
95 config IR_RCMM_DECODER
96         tristate "Enable IR raw decoder for the RC-MM protocol"
97         help
98            Enable this option when you have IR with RC-MM protocol, and
99            you need the software decoder. The driver supports 12,
100            24 and 32 bits RC-MM variants. You can enable or disable the
101            different modes using the following RC protocol keywords:
102            'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'.
103
104            To compile this driver as a module, choose M here: the module
105            will be called ir-rcmm-decoder.
106
107 config IR_SANYO_DECODER
108         tristate "Enable IR raw decoder for the Sanyo protocol"
109         select BITREVERSE
110
111         help
112            Enable this option if you have an infrared remote control which
113            uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes),
114            and you need software decoding support.
115
116 config IR_SHARP_DECODER
117         tristate "Enable IR raw decoder for the Sharp protocol"
118         select BITREVERSE
119
120         help
121            Enable this option if you have an infrared remote control which
122            uses the Sharp protocol (Sharp, Denon), and you need software
123            decoding support.
124
125 config IR_SONY_DECODER
126         tristate "Enable IR raw decoder for the Sony protocol"
127         select BITREVERSE
128
129         help
130            Enable this option if you have an infrared remote control which
131            uses the Sony protocol, and you need software decoding support.
132
133 config IR_XMP_DECODER
134         tristate "Enable IR raw decoder for the XMP protocol"
135         select BITREVERSE
136
137         help
138            Enable this option if you have IR with XMP protocol, and
139            if the IR is decoded in software
140
141 endif #RC_DECODERS
142
143 menuconfig RC_DEVICES
144         bool "Remote Controller devices"
145
146 if RC_DEVICES
147
148 config IR_ENE
149         tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
150         depends on PNP || COMPILE_TEST
151         depends on HAS_IOPORT
152         help
153            Say Y here to enable support for integrated infrared receiver
154            /transceiver made by ENE.
155
156            You can see if you have it by looking at lspnp output.
157            Output should include ENE0100 ENE0200 or something similar.
158
159            To compile this driver as a module, choose M here: the
160            module will be called ene_ir.
161
162 config IR_FINTEK
163         tristate "Fintek Consumer Infrared Transceiver"
164         depends on PNP || COMPILE_TEST
165         depends on HAS_IOPORT
166         help
167            Say Y here to enable support for integrated infrared receiver
168            /transceiver made by Fintek. This chip is found on assorted
169            Jetway motherboards (and of course, possibly others).
170
171            To compile this driver as a module, choose M here: the
172            module will be called fintek-cir.
173
174 config IR_GPIO_CIR
175         tristate "GPIO IR remote control"
176         depends on (OF && GPIOLIB) || COMPILE_TEST
177         help
178            Say Y if you want to use GPIO based IR Receiver.
179
180            To compile this driver as a module, choose M here: the module will
181            be called gpio-ir-recv.
182
183 config IR_GPIO_TX
184         tristate "GPIO IR Bit Banging Transmitter"
185         depends on LIRC
186         depends on (OF && GPIOLIB) || COMPILE_TEST
187         help
188            Say Y if you want to a GPIO based IR transmitter. This is a
189            bit banging driver.
190
191            To compile this driver as a module, choose M here: the module will
192            be called gpio-ir-tx.
193
194 config IR_HIX5HD2
195         tristate "Hisilicon hix5hd2 IR remote control"
196         depends on (OF && HAS_IOMEM) || COMPILE_TEST
197         help
198            Say Y here if you want to use hisilicon hix5hd2 remote control.
199            To compile this driver as a module, choose M here: the module will be
200            called ir-hix5hd2.
201
202            If you're not sure, select N here
203
204 config IR_IGORPLUGUSB
205         tristate "IgorPlug-USB IR Receiver"
206         depends on USB
207         help
208            Say Y here if you want to use the IgorPlug-USB IR Receiver by
209            Igor Cesko. This device is included on the Fit-PC2.
210
211            Note that this device can only record bursts of 36 IR pulses and
212            spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
213
214            To compile this driver as a module, choose M here: the module will
215            be called igorplugusb.
216
217 config IR_IGUANA
218         tristate "IguanaWorks USB IR Transceiver"
219         depends on USB
220         help
221            Say Y here if you want to use the IguanaWorks USB IR Transceiver.
222            Both infrared receive and send are supported. If you want to
223            change the ID or the pin config, use the user space driver from
224            IguanaWorks.
225
226            Only firmware 0x0205 and later is supported.
227
228            To compile this driver as a module, choose M here: the module will
229            be called iguanair.
230
231 config IR_IMON
232         tristate "SoundGraph iMON Receiver and Display"
233         depends on USB
234         help
235            Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
236            IR Receiver and/or LCD/VFD/VGA display.
237
238            To compile this driver as a module, choose M here: the
239            module will be called imon.
240
241 config IR_IMON_RAW
242         tristate "SoundGraph iMON Receiver (early raw IR models)"
243         depends on USB
244         help
245            Say Y here if you want to use a SoundGraph iMON IR Receiver,
246            early raw models.
247
248            To compile this driver as a module, choose M here: the
249            module will be called imon_raw.
250
251 config IR_ITE_CIR
252         tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
253         depends on PNP || COMPILE_TEST
254         depends on HAS_IOPORT
255         help
256            Say Y here to enable support for integrated infrared receivers
257            /transceivers made by ITE Tech Inc. These are found in
258            several ASUS devices, like the ASUS Digimatrix or the ASUS
259            EEEBox 1501U.
260
261            To compile this driver as a module, choose M here: the
262            module will be called ite-cir.
263
264 config IR_MCEUSB
265         tristate "Windows Media Center Ed. eHome Infrared Transceiver"
266         depends on USB
267         help
268            Say Y here if you want to use a Windows Media Center Edition
269            eHome Infrared Transceiver.
270
271            To compile this driver as a module, choose M here: the
272            module will be called mceusb.
273
274 config IR_MESON
275         tristate "Amlogic Meson IR remote receiver"
276         depends on ARCH_MESON || COMPILE_TEST
277         select REGMAP_MMIO
278         help
279            Say Y if you want to use the IR remote receiver available
280            on Amlogic Meson SoCs.
281
282            To compile this driver as a module, choose M here: the
283            module will be called meson-ir.
284
285 config IR_MESON_TX
286         tristate "Amlogic Meson IR TX"
287         depends on ARCH_MESON || COMPILE_TEST
288         help
289            Say Y if you want to use the IR transmitter available on
290            Amlogic Meson SoCs.
291
292            To compile this driver as a module, choose M here: the
293            module will be called meson-ir-tx.
294
295 config IR_MTK
296         tristate "Mediatek IR remote receiver"
297         depends on ARCH_MEDIATEK || COMPILE_TEST
298         help
299            Say Y if you want to use the IR remote receiver available
300            on Mediatek SoCs.
301
302            To compile this driver as a module, choose M here: the
303            module will be called mtk-cir.
304
305 config IR_NUVOTON
306         tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
307         depends on PNP || COMPILE_TEST
308         depends on HAS_IOPORT
309         help
310            Say Y here to enable support for integrated infrared receiver
311            /transceiver made by Nuvoton (formerly Winbond). This chip is
312            found in the ASRock ION 330HT, as well as assorted Intel
313            DP55-series motherboards (and of course, possibly others).
314
315            To compile this driver as a module, choose M here: the
316            module will be called nuvoton-cir.
317
318 config IR_PWM_TX
319         tristate "PWM IR transmitter"
320         depends on LIRC
321         depends on PWM
322         depends on OF
323         help
324            Say Y if you want to use a PWM based IR transmitter. This is
325            more power efficient than the bit banging gpio driver.
326
327            To compile this driver as a module, choose M here: the module will
328            be called pwm-ir-tx.
329
330 config IR_REDRAT3
331         tristate "RedRat3 IR Transceiver"
332         depends on USB
333         select NEW_LEDS
334         select LEDS_CLASS
335         help
336            Say Y here if you want to use a RedRat3 Infrared Transceiver.
337
338            To compile this driver as a module, choose M here: the
339            module will be called redrat3.
340
341 config IR_SERIAL
342         tristate "Homebrew Serial Port Receiver"
343         depends on HAS_IOPORT
344         help
345            Say Y if you want to use Homebrew Serial Port Receivers and
346            Transceivers.
347
348            To compile this driver as a module, choose M here: the module will
349            be called serial-ir.
350
351 config IR_SERIAL_TRANSMITTER
352         bool "Serial Port Transmitter"
353         depends on IR_SERIAL
354         help
355            Serial Port Transmitter support
356
357 config IR_SPI
358         tristate "SPI connected IR LED"
359         depends on SPI && LIRC
360         depends on OF
361         help
362           Say Y if you want to use an IR LED connected through SPI bus.
363
364           To compile this driver as a module, choose M here: the module will be
365           called ir-spi.
366
367 config IR_STREAMZAP
368         tristate "Streamzap PC Remote IR Receiver"
369         depends on USB
370         help
371            Say Y here if you want to use a Streamzap PC Remote
372            Infrared Receiver.
373
374            To compile this driver as a module, choose M here: the
375            module will be called streamzap.
376
377 config IR_SUNXI
378         tristate "SUNXI IR remote control"
379         depends on ARCH_SUNXI || COMPILE_TEST
380         help
381            Say Y if you want to use sunXi internal IR Controller
382
383            To compile this driver as a module, choose M here: the module will
384            be called sunxi-ir.
385
386 config IR_TOY
387         tristate "Infrared Toy and IR Droid"
388         depends on USB
389         help
390            Say Y here if you want to use the Infrared Toy or IR Droid, USB
391            versions.
392
393            To compile this driver as a module, choose M here: the module will be
394            called ir_toy.
395
396 config IR_TTUSBIR
397         tristate "TechnoTrend USB IR Receiver"
398         depends on USB
399         select NEW_LEDS
400         select LEDS_CLASS
401         help
402            Say Y here if you want to use the TechnoTrend USB IR Receiver. The
403            driver can control the led.
404
405            To compile this driver as a module, choose M here: the module will
406            be called ttusbir.
407
408 config IR_WINBOND_CIR
409         tristate "Winbond IR remote control"
410         depends on (X86 && PNP) || COMPILE_TEST
411         depends on HAS_IOPORT
412         select NEW_LEDS
413         select LEDS_CLASS
414         select BITREVERSE
415         help
416            Say Y here if you want to use the IR remote functionality found
417            in some Winbond SuperI/O chips. Currently only the WPCD376I
418            chip is supported (included in some Intel Media series
419            motherboards).
420
421            To compile this driver as a module, choose M here: the module will
422            be called winbond_cir.
423
424 config RC_ATI_REMOTE
425         tristate "ATI / X10 based USB RF remote controls"
426         depends on USB
427         help
428            Say Y here if you want to use an X10 based USB remote control.
429            These are RF remotes with USB receivers.
430
431            Such devices include the ATI remote that comes with many of ATI's
432            All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
433            Medion RF remote, and SnapStream FireFly remote.
434
435            This driver provides mouse pointer, left and right mouse buttons,
436            and maps all the other remote buttons to keypress events.
437
438            To compile this driver as a module, choose M here: the module will be
439            called ati_remote.
440
441 config RC_LOOPBACK
442         tristate "Remote Control Loopback Driver"
443         help
444            Say Y here if you want support for the remote control loopback
445            driver which allows TX data to be sent back as RX data.
446            This is mostly useful for debugging purposes.
447
448            If you're not sure, select N here.
449
450            To compile this driver as a module, choose M here: the module will
451            be called rc_loopback.
452
453 config RC_ST
454         tristate "ST remote control receiver"
455         depends on ARCH_STI || COMPILE_TEST
456         help
457            Say Y here if you want support for ST remote control driver
458            which allows both IR and UHF RX.
459            The driver passes raw pulse and space information to the LIRC decoder.
460
461            If you're not sure, select N here.
462
463 config RC_XBOX_DVD
464         tristate "Xbox DVD Movie Playback Kit"
465         depends on USB
466         help
467            Say Y here if you want to use the Xbox DVD Movie Playback Kit.
468            These are IR remotes with USB receivers for the Original Xbox (2001).
469
470            To compile this driver as a module, choose M here: the module will be
471            called xbox_remote.
472
473 source "drivers/media/rc/img-ir/Kconfig"
474
475 endif #RC_DEVICES
476
477 endif #RC_CORE