xref: /openbmc/linux/drivers/media/rc/Kconfig (revision ca48739e)
1# SPDX-License-Identifier: GPL-2.0-only
2
3menuconfig 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
17if RC_CORE
18source "drivers/media/rc/keymaps/Kconfig"
19
20config 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
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
52	help
53	   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
61	help
62	   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
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
74config 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
83config 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
92config 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
102config 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
112config 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
122config 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
131config 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
139config 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
152endif #RC_DECODERS
153
154menuconfig RC_DEVICES
155	bool "Remote Controller devices"
156	depends on RC_CORE
157
158if RC_DEVICES
159
160config 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
179config 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
193config 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
204config 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
216config 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
228config 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
240config 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
253config 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
265config 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
276config 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
287config 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
300config 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
313config 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
323config 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
335config 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
351config 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
366config 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
382config 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
396config 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
406source "drivers/media/rc/img-ir/Kconfig"
407
408config 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
421config 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
431config 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
443config 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
456config 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
467config 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
477config 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
487config IR_SERIAL_TRANSMITTER
488	bool "Serial Port Transmitter"
489	depends on IR_SERIAL
490	help
491	   Serial Port Transmitter support
492
493config 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
502config 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
512config 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
524config 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
535config 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
546endif #RC_DEVICES
547
548endif #RC_CORE
549