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