blob: c18dee648253639a341d7bd276da1016ef010a55 [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002
3menuconfig RC_CORE
4 tristate "Remote Controller support"
5 depends on INPUT
David Brazdil0f672f62019-12-10 10:32:29 +00006 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00007 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
17if RC_CORE
18source "drivers/media/rc/keymaps/Kconfig"
19
20config LIRC
21 bool "LIRC user interface"
22 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +000023 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000024 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
29config 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
42menuconfig RC_DECODERS
43 bool "Remote controller decoders"
44 depends on RC_CORE
45
46if RC_DECODERS
47config IR_NEC_DECODER
48 tristate "Enable IR raw decoder for the NEC protocol"
49 depends on RC_CORE
50 select BITREVERSE
51
David Brazdil0f672f62019-12-10 10:32:29 +000052 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000053 Enable this option if you have IR with NEC protocol, and
54 if the IR is decoded in software
55
56config IR_RC5_DECODER
57 tristate "Enable IR raw decoder for the RC-5 protocol"
58 depends on RC_CORE
59 select BITREVERSE
60
David Brazdil0f672f62019-12-10 10:32:29 +000061 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000062 Enable this option if you have IR with RC-5 protocol, and
63 if the IR is decoded in software
64
65config IR_RC6_DECODER
66 tristate "Enable IR raw decoder for the RC6 protocol"
67 depends on RC_CORE
68 select BITREVERSE
69
David Brazdil0f672f62019-12-10 10:32:29 +000070 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000071 Enable this option if you have an infrared remote control which
72 uses the RC6 protocol, and you need software decoding support.
73
74config IR_JVC_DECODER
75 tristate "Enable IR raw decoder for the JVC protocol"
76 depends on RC_CORE
77 select BITREVERSE
78
David Brazdil0f672f62019-12-10 10:32:29 +000079 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000080 Enable this option if you have an infrared remote control which
81 uses the JVC protocol, and you need software decoding support.
82
83config IR_SONY_DECODER
84 tristate "Enable IR raw decoder for the Sony protocol"
85 depends on RC_CORE
86 select BITREVERSE
87
David Brazdil0f672f62019-12-10 10:32:29 +000088 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000089 Enable this option if you have an infrared remote control which
90 uses the Sony protocol, and you need software decoding support.
91
92config IR_SANYO_DECODER
93 tristate "Enable IR raw decoder for the Sanyo protocol"
94 depends on RC_CORE
95
David Brazdil0f672f62019-12-10 10:32:29 +000096 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000097 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
101config IR_SHARP_DECODER
102 tristate "Enable IR raw decoder for the Sharp protocol"
103 depends on RC_CORE
104
David Brazdil0f672f62019-12-10 10:32:29 +0000105 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000106 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
110config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000115 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000116 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
120config IR_XMP_DECODER
121 tristate "Enable IR raw decoder for the XMP protocol"
122 depends on RC_CORE
123 select BITREVERSE
124
David Brazdil0f672f62019-12-10 10:32:29 +0000125 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000126 Enable this option if you have IR with XMP protocol, and
127 if the IR is decoded in software
128
129config IR_IMON_DECODER
130 tristate "Enable IR raw decoder for the iMON protocol"
131 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000132 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000133 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
David Brazdil0f672f62019-12-10 10:32:29 +0000137config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000150endif #RC_DECODERS
151
152menuconfig RC_DEVICES
153 bool "Remote Controller devices"
154 depends on RC_CORE
155
156if RC_DEVICES
157
158config 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
177config IR_ENE
178 tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
179 depends on PNP || COMPILE_TEST
180 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000181 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000182 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
191config 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
202config IR_IMON
203 tristate "SoundGraph iMON Receiver and Display"
204 depends on USB_ARCH_HAS_HCD
205 depends on RC_CORE
206 select USB
David Brazdil0f672f62019-12-10 10:32:29 +0000207 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000208 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
214config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000219 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000220 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
226config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000231 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000232 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
238config IR_ITE_CIR
239 tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
240 depends on PNP || COMPILE_TEST
241 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000242 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000243 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
251config IR_FINTEK
252 tristate "Fintek Consumer Infrared Transceiver"
253 depends on PNP || COMPILE_TEST
254 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000255 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000256 Say Y here to enable support for integrated infrared receiver
David Brazdil0f672f62019-12-10 10:32:29 +0000257 /transceiver made by Fintek. This chip is found on assorted
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000258 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
263config IR_MESON
264 tristate "Amlogic Meson IR remote receiver"
265 depends on RC_CORE
266 depends on ARCH_MESON || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000267 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000268 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
274config IR_MTK
275 tristate "Mediatek IR remote receiver"
276 depends on RC_CORE
277 depends on ARCH_MEDIATEK || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000278 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000279 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
285config IR_NUVOTON
286 tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
287 depends on PNP || COMPILE_TEST
288 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000289 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000290 Say Y here to enable support for integrated infrared receiver
David Brazdil0f672f62019-12-10 10:32:29 +0000291 /transceiver made by Nuvoton (formerly Winbond). This chip is
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000292 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
298config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000305 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000306 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
311config IR_SPI
312 tristate "SPI connected IR LED"
313 depends on SPI && LIRC
314 depends on OF || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000315 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000316 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
321config IR_STREAMZAP
322 tristate "Streamzap PC Remote IR Receiver"
323 depends on USB_ARCH_HAS_HCD
324 depends on RC_CORE
325 select USB
David Brazdil0f672f62019-12-10 10:32:29 +0000326 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000327 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
333config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000340 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000341 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
349config IR_IGORPLUGUSB
350 tristate "IgorPlug-USB IR Receiver"
351 depends on USB_ARCH_HAS_HCD
352 depends on RC_CORE
353 select USB
David Brazdil0f672f62019-12-10 10:32:29 +0000354 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000355 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
364config IR_IGUANA
365 tristate "IguanaWorks USB IR Transceiver"
366 depends on USB_ARCH_HAS_HCD
367 depends on RC_CORE
368 select USB
David Brazdil0f672f62019-12-10 10:32:29 +0000369 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000370 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
380config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000387 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000388 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
394config IR_RX51
395 tristate "Nokia N900 IR transmitter diode"
396 depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000397 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000398 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
404source "drivers/media/rc/img-ir/Kconfig"
405
406config RC_LOOPBACK
407 tristate "Remote Control Loopback Driver"
408 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000409 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000410 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
419config IR_GPIO_CIR
420 tristate "GPIO IR remote control"
421 depends on RC_CORE
422 depends on (OF && GPIOLIB) || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000423 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000424 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
429config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000434 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000435 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
441config 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
David Brazdil0f672f62019-12-10 10:32:29 +0000447 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000448 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
454config RC_ST
455 tristate "ST remote control receiver"
456 depends on RC_CORE
457 depends on ARCH_STI || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000458 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000459 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
465config IR_SUNXI
466 tristate "SUNXI IR remote control"
467 depends on RC_CORE
468 depends on ARCH_SUNXI || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000469 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000470 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
475config IR_SERIAL
476 tristate "Homebrew Serial Port Receiver"
477 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000478 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000479 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
485config IR_SERIAL_TRANSMITTER
486 bool "Serial Port Transmitter"
487 depends on IR_SERIAL
David Brazdil0f672f62019-12-10 10:32:29 +0000488 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000489 Serial Port Transmitter support
490
491config IR_SIR
492 tristate "Built-in SIR IrDA port"
493 depends on RC_CORE
David Brazdil0f672f62019-12-10 10:32:29 +0000494 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000495 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
500config IR_TANGO
501 tristate "Sigma Designs SMP86xx IR decoder"
502 depends on RC_CORE
503 depends on ARCH_TANGO || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000504 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000505 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
David Brazdil0f672f62019-12-10 10:32:29 +0000510config 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
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000522config IR_ZX
523 tristate "ZTE ZX IR remote control"
524 depends on RC_CORE
525 depends on ARCH_ZX || COMPILE_TEST
David Brazdil0f672f62019-12-10 10:32:29 +0000526 help
Andrew Scullb4b6d4a2019-01-02 15:54:55 +0000527 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
533endif #RC_DEVICES
534
535endif #RC_CORE