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