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