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