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