GNU Linux-libre 6.1.24-gnu
[releases.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         help
152            Say Y here to enable support for integrated infrared receiver
153            /transceiver made by ENE.
154
155            You can see if you have it by looking at lspnp output.
156            Output should include ENE0100 ENE0200 or something similar.
157
158            To compile this driver as a module, choose M here: the
159            module will be called ene_ir.
160
161 config IR_FINTEK
162         tristate "Fintek Consumer Infrared Transceiver"
163         depends on PNP || COMPILE_TEST
164         help
165            Say Y here to enable support for integrated infrared receiver
166            /transceiver made by Fintek. This chip is found on assorted
167            Jetway motherboards (and of course, possibly others).
168
169            To compile this driver as a module, choose M here: the
170            module will be called fintek-cir.
171
172 config IR_GPIO_CIR
173         tristate "GPIO IR remote control"
174         depends on (OF && GPIOLIB) || COMPILE_TEST
175         help
176            Say Y if you want to use GPIO based IR Receiver.
177
178            To compile this driver as a module, choose M here: the module will
179            be called gpio-ir-recv.
180
181 config IR_GPIO_TX
182         tristate "GPIO IR Bit Banging Transmitter"
183         depends on LIRC
184         depends on (OF && GPIOLIB) || COMPILE_TEST
185         help
186            Say Y if you want to a GPIO based IR transmitter. This is a
187            bit banging driver.
188
189            To compile this driver as a module, choose M here: the module will
190            be called gpio-ir-tx.
191
192 config IR_HIX5HD2
193         tristate "Hisilicon hix5hd2 IR remote control"
194         depends on (OF && HAS_IOMEM) || 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_IGORPLUGUSB
203         tristate "IgorPlug-USB IR Receiver"
204         depends on USB
205         help
206            Say Y here if you want to use the IgorPlug-USB IR Receiver by
207            Igor Cesko. This device is included on the Fit-PC2.
208
209            Note that this device can only record bursts of 36 IR pulses and
210            spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
211
212            To compile this driver as a module, choose M here: the module will
213            be called igorplugusb.
214
215 config IR_IGUANA
216         tristate "IguanaWorks USB IR Transceiver"
217         depends on USB
218         help
219            Say Y here if you want to use the IguanaWorks USB IR Transceiver.
220            Both infrared receive and send are supported. If you want to
221            change the ID or the pin config, use the user space driver from
222            IguanaWorks.
223
224            Only firmware 0x0205 and later is supported.
225
226            To compile this driver as a module, choose M here: the module will
227            be called iguanair.
228
229 config IR_IMON
230         tristate "SoundGraph iMON Receiver and Display"
231         depends on USB
232         help
233            Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
234            IR Receiver and/or LCD/VFD/VGA display.
235
236            To compile this driver as a module, choose M here: the
237            module will be called imon.
238
239 config IR_IMON_RAW
240         tristate "SoundGraph iMON Receiver (early raw IR models)"
241         depends on USB
242         help
243            Say Y here if you want to use a SoundGraph iMON IR Receiver,
244            early raw models.
245
246            To compile this driver as a module, choose M here: the
247            module will be called imon_raw.
248
249 config IR_ITE_CIR
250         tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
251         depends on PNP || COMPILE_TEST
252         help
253            Say Y here to enable support for integrated infrared receivers
254            /transceivers made by ITE Tech Inc. These are found in
255            several ASUS devices, like the ASUS Digimatrix or the ASUS
256            EEEBox 1501U.
257
258            To compile this driver as a module, choose M here: the
259            module will be called ite-cir.
260
261 config IR_MCEUSB
262         tristate "Windows Media Center Ed. eHome Infrared Transceiver"
263         depends on USB
264         help
265            Say Y here if you want to use a Windows Media Center Edition
266            eHome Infrared Transceiver.
267
268            To compile this driver as a module, choose M here: the
269            module will be called mceusb.
270
271 config IR_MESON
272         tristate "Amlogic Meson IR remote receiver"
273         depends on ARCH_MESON || COMPILE_TEST
274         help
275            Say Y if you want to use the IR remote receiver available
276            on Amlogic Meson SoCs.
277
278            To compile this driver as a module, choose M here: the
279            module will be called meson-ir.
280
281 config IR_MESON_TX
282         tristate "Amlogic Meson IR TX"
283         depends on ARCH_MESON || COMPILE_TEST
284         help
285            Say Y if you want to use the IR transmitter available on
286            Amlogic Meson SoCs.
287
288            To compile this driver as a module, choose M here: the
289            module will be called meson-ir-tx.
290
291 config IR_MTK
292         tristate "Mediatek IR remote receiver"
293         depends on ARCH_MEDIATEK || COMPILE_TEST
294         help
295            Say Y if you want to use the IR remote receiver available
296            on Mediatek SoCs.
297
298            To compile this driver as a module, choose M here: the
299            module will be called mtk-cir.
300
301 config IR_NUVOTON
302         tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
303         depends on PNP || COMPILE_TEST
304         help
305            Say Y here to enable support for integrated infrared receiver
306            /transceiver made by Nuvoton (formerly Winbond). This chip is
307            found in the ASRock ION 330HT, as well as assorted Intel
308            DP55-series motherboards (and of course, possibly others).
309
310            To compile this driver as a module, choose M here: the
311            module will be called nuvoton-cir.
312
313 config IR_PWM_TX
314         tristate "PWM IR transmitter"
315         depends on LIRC
316         depends on PWM
317         depends on OF || COMPILE_TEST
318         help
319            Say Y if you want to use a PWM based IR transmitter. This is
320            more power efficient than the bit banging gpio driver.
321
322            To compile this driver as a module, choose M here: the module will
323            be called pwm-ir-tx.
324
325 config IR_REDRAT3
326         tristate "RedRat3 IR Transceiver"
327         depends on USB
328         select NEW_LEDS
329         select LEDS_CLASS
330         help
331            Say Y here if you want to use a RedRat3 Infrared Transceiver.
332
333            To compile this driver as a module, choose M here: the
334            module will be called redrat3.
335
336 config IR_RX51
337         tristate "Nokia N900 IR transmitter diode"
338         depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
339         help
340            Say Y or M here if you want to enable support for the IR
341            transmitter diode built in the Nokia N900 (RX51) device.
342
343            The driver uses omap DM timers for generating the carrier
344            wave and pulses.
345
346 config IR_SERIAL
347         tristate "Homebrew Serial Port Receiver"
348         help
349            Say Y if you want to use Homebrew Serial Port Receivers and
350            Transceivers.
351
352            To compile this driver as a module, choose M here: the module will
353            be called serial-ir.
354
355 config IR_SERIAL_TRANSMITTER
356         bool "Serial Port Transmitter"
357         depends on IR_SERIAL
358         help
359            Serial Port Transmitter support
360
361 config IR_SPI
362         tristate "SPI connected IR LED"
363         depends on SPI && LIRC
364         depends on OF || COMPILE_TEST
365         help
366           Say Y if you want to use an IR LED connected through SPI bus.
367
368           To compile this driver as a module, choose M here: the module will be
369           called ir-spi.
370
371 config IR_STREAMZAP
372         tristate "Streamzap PC Remote IR Receiver"
373         depends on USB
374         help
375            Say Y here if you want to use a Streamzap PC Remote
376            Infrared Receiver.
377
378            To compile this driver as a module, choose M here: the
379            module will be called streamzap.
380
381 config IR_SUNXI
382         tristate "SUNXI IR remote control"
383         depends on ARCH_SUNXI || COMPILE_TEST
384         help
385            Say Y if you want to use sunXi internal IR Controller
386
387            To compile this driver as a module, choose M here: the module will
388            be called sunxi-ir.
389
390 config IR_TOY
391         tristate "Infrared Toy and IR Droid"
392         depends on USB
393         help
394            Say Y here if you want to use the Infrared Toy or IR Droid, USB
395            versions.
396
397            To compile this driver as a module, choose M here: the module will be
398            called ir_toy.
399
400 config IR_TTUSBIR
401         tristate "TechnoTrend USB IR Receiver"
402         depends on USB
403         select NEW_LEDS
404         select LEDS_CLASS
405         help
406            Say Y here if you want to use the TechnoTrend USB IR Receiver. The
407            driver can control the led.
408
409            To compile this driver as a module, choose M here: the module will
410            be called ttusbir.
411
412 config IR_WINBOND_CIR
413         tristate "Winbond IR remote control"
414         depends on (X86 && PNP) || COMPILE_TEST
415         select NEW_LEDS
416         select LEDS_CLASS
417         select BITREVERSE
418         help
419            Say Y here if you want to use the IR remote functionality found
420            in some Winbond SuperI/O chips. Currently only the WPCD376I
421            chip is supported (included in some Intel Media series
422            motherboards).
423
424            To compile this driver as a module, choose M here: the module will
425            be called winbond_cir.
426
427 config RC_ATI_REMOTE
428         tristate "ATI / X10 based USB RF remote controls"
429         depends on USB
430         help
431            Say Y here if you want to use an X10 based USB remote control.
432            These are RF remotes with USB receivers.
433
434            Such devices include the ATI remote that comes with many of ATI's
435            All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
436            Medion RF remote, and SnapStream FireFly remote.
437
438            This driver provides mouse pointer, left and right mouse buttons,
439            and maps all the other remote buttons to keypress events.
440
441            To compile this driver as a module, choose M here: the module will be
442            called ati_remote.
443
444 config RC_LOOPBACK
445         tristate "Remote Control Loopback Driver"
446         help
447            Say Y here if you want support for the remote control loopback
448            driver which allows TX data to be sent back as RX data.
449            This is mostly useful for debugging purposes.
450
451            If you're not sure, select N here.
452
453            To compile this driver as a module, choose M here: the module will
454            be called rc_loopback.
455
456 config RC_ST
457         tristate "ST remote control receiver"
458         depends on ARCH_STI || COMPILE_TEST
459         help
460            Say Y here if you want support for ST remote control driver
461            which allows both IR and UHF RX.
462            The driver passes raw pulse and space information to the LIRC decoder.
463
464            If you're not sure, select N here.
465
466 config RC_XBOX_DVD
467         tristate "Xbox DVD Movie Playback Kit"
468         depends on USB
469         help
470            Say Y here if you want to use the Xbox DVD Movie Playback Kit.
471            These are IR remotes with USB receivers for the Original Xbox (2001).
472
473            To compile this driver as a module, choose M here: the module will be
474            called xbox_remote.
475
476 source "drivers/media/rc/img-ir/Kconfig"
477
478 endif #RC_DEVICES
479
480 endif #RC_CORE