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