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
136endif #RC_DECODERS
137
138menuconfig RC_DEVICES
139	bool "Remote Controller devices"
140	depends on RC_CORE
141
142if RC_DEVICES
143
144config RC_ATI_REMOTE
145	tristate "ATI / X10 based USB RF remote controls"
146	depends on USB_ARCH_HAS_HCD
147	depends on RC_CORE
148	select 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	depends on RC_CORE
167	---help---
168	   Say Y here to enable support for integrated infrared receiver
169	   /transceiver made by ENE.
170
171	   You can see if you have it by looking at lspnp output.
172	   Output should include ENE0100 ENE0200 or something similar.
173
174	   To compile this driver as a module, choose M here: the
175	   module will be called ene_ir.
176
177config IR_HIX5HD2
178	tristate "Hisilicon hix5hd2 IR remote control"
179	depends on RC_CORE
180	depends on OF || COMPILE_TEST
181	help
182	   Say Y here if you want to use hisilicon hix5hd2 remote control.
183	   To compile this driver as a module, choose M here: the module will be
184	   called ir-hix5hd2.
185
186	   If you're not sure, select N here
187
188config IR_IMON
189	tristate "SoundGraph iMON Receiver and Display"
190	depends on USB_ARCH_HAS_HCD
191	depends on RC_CORE
192	select USB
193	---help---
194	   Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
195	   IR Receiver and/or LCD/VFD/VGA display.
196
197	   To compile this driver as a module, choose M here: the
198	   module will be called imon.
199
200config IR_IMON_RAW
201	tristate "SoundGraph iMON Receiver (early raw IR models)"
202	depends on USB_ARCH_HAS_HCD
203	depends on RC_CORE
204	select USB
205	---help---
206	   Say Y here if you want to use a SoundGraph iMON IR Receiver,
207	   early raw models.
208
209	   To compile this driver as a module, choose M here: the
210	   module will be called imon_raw.
211
212config IR_MCEUSB
213	tristate "Windows Media Center Ed. eHome Infrared Transceiver"
214	depends on USB_ARCH_HAS_HCD
215	depends on RC_CORE
216	select USB
217	---help---
218	   Say Y here if you want to use a Windows Media Center Edition
219	   eHome Infrared Transceiver.
220
221	   To compile this driver as a module, choose M here: the
222	   module will be called mceusb.
223
224config IR_ITE_CIR
225	tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
226	depends on PNP || COMPILE_TEST
227	depends on RC_CORE
228	---help---
229	   Say Y here to enable support for integrated infrared receivers
230	   /transceivers made by ITE Tech Inc. These are found in
231	   several ASUS devices, like the ASUS Digimatrix or the ASUS
232	   EEEBox 1501U.
233
234	   To compile this driver as a module, choose M here: the
235	   module will be called ite-cir.
236
237config IR_FINTEK
238	tristate "Fintek 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 receiver
243	   /transciever made by Fintek. This chip is found on assorted
244	   Jetway motherboards (and of course, possibly others).
245
246	   To compile this driver as a module, choose M here: the
247	   module will be called fintek-cir.
248
249config IR_MESON
250	tristate "Amlogic Meson IR remote receiver"
251	depends on RC_CORE
252	depends on ARCH_MESON || COMPILE_TEST
253	---help---
254	   Say Y if you want to use the IR remote receiver available
255	   on Amlogic Meson SoCs.
256
257	   To compile this driver as a module, choose M here: the
258	   module will be called meson-ir.
259
260config IR_MTK
261	tristate "Mediatek IR remote receiver"
262	depends on RC_CORE
263	depends on ARCH_MEDIATEK || COMPILE_TEST
264	---help---
265	   Say Y if you want to use the IR remote receiver available
266	   on Mediatek SoCs.
267
268	   To compile this driver as a module, choose M here: the
269	   module will be called mtk-cir.
270
271config IR_NUVOTON
272	tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
273	depends on PNP || COMPILE_TEST
274	depends on RC_CORE
275	---help---
276	   Say Y here to enable support for integrated infrared receiver
277	   /transciever made by Nuvoton (formerly Winbond). This chip is
278	   found in the ASRock ION 330HT, as well as assorted Intel
279	   DP55-series motherboards (and of course, possibly others).
280
281	   To compile this driver as a module, choose M here: the
282	   module will be called nuvoton-cir.
283
284config IR_REDRAT3
285	tristate "RedRat3 IR Transceiver"
286	depends on USB_ARCH_HAS_HCD
287	depends on RC_CORE
288	select NEW_LEDS
289	select LEDS_CLASS
290	select USB
291	---help---
292	   Say Y here if you want to use a RedRat3 Infrared Transceiver.
293
294	   To compile this driver as a module, choose M here: the
295	   module will be called redrat3.
296
297config IR_SPI
298	tristate "SPI connected IR LED"
299	depends on SPI && LIRC
300	depends on OF || COMPILE_TEST
301	---help---
302	  Say Y if you want to use an IR LED connected through SPI bus.
303
304	  To compile this driver as a module, choose M here: the module will be
305	  called ir-spi.
306
307config IR_STREAMZAP
308	tristate "Streamzap PC Remote IR Receiver"
309	depends on USB_ARCH_HAS_HCD
310	depends on RC_CORE
311	select USB
312	---help---
313	   Say Y here if you want to use a Streamzap PC Remote
314	   Infrared Receiver.
315
316	   To compile this driver as a module, choose M here: the
317	   module will be called streamzap.
318
319config IR_WINBOND_CIR
320	tristate "Winbond IR remote control"
321	depends on (X86 && PNP) || COMPILE_TEST
322	depends on RC_CORE
323	select NEW_LEDS
324	select LEDS_CLASS
325	select BITREVERSE
326	---help---
327	   Say Y here if you want to use the IR remote functionality found
328	   in some Winbond SuperI/O chips. Currently only the WPCD376I
329	   chip is supported (included in some Intel Media series
330	   motherboards).
331
332	   To compile this driver as a module, choose M here: the module will
333	   be called winbond_cir.
334
335config IR_IGORPLUGUSB
336	tristate "IgorPlug-USB IR Receiver"
337	depends on USB_ARCH_HAS_HCD
338	depends on RC_CORE
339	select USB
340	---help---
341	   Say Y here if you want to use the IgorPlug-USB IR Receiver by
342	   Igor Cesko. This device is included on the Fit-PC2.
343
344	   Note that this device can only record bursts of 36 IR pulses and
345	   spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
346
347	   To compile this driver as a module, choose M here: the module will
348	   be called igorplugusb.
349
350config IR_IGUANA
351	tristate "IguanaWorks USB IR Transceiver"
352	depends on USB_ARCH_HAS_HCD
353	depends on RC_CORE
354	select USB
355	---help---
356	   Say Y here if you want to use the IguanaWorks USB IR Transceiver.
357	   Both infrared receive and send are supported. If you want to
358	   change the ID or the pin config, use the user space driver from
359	   IguanaWorks.
360
361	   Only firmware 0x0205 and later is supported.
362
363	   To compile this driver as a module, choose M here: the module will
364	   be called iguanair.
365
366config IR_TTUSBIR
367	tristate "TechnoTrend USB IR Receiver"
368	depends on USB_ARCH_HAS_HCD
369	depends on RC_CORE
370	select USB
371	select NEW_LEDS
372	select LEDS_CLASS
373	---help---
374	   Say Y here if you want to use the TechnoTrend USB IR Receiver. The
375	   driver can control the led.
376
377	   To compile this driver as a module, choose M here: the module will
378	   be called ttusbir.
379
380config IR_RX51
381	tristate "Nokia N900 IR transmitter diode"
382	depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
383	---help---
384	   Say Y or M here if you want to enable support for the IR
385	   transmitter diode built in the Nokia N900 (RX51) device.
386
387	   The driver uses omap DM timers for generating the carrier
388	   wave and pulses.
389
390source "drivers/media/rc/img-ir/Kconfig"
391
392config RC_LOOPBACK
393	tristate "Remote Control Loopback Driver"
394	depends on RC_CORE
395	---help---
396	   Say Y here if you want support for the remote control loopback
397	   driver which allows TX data to be sent back as RX data.
398	   This is mostly useful for debugging purposes.
399
400	   If you're not sure, select N here.
401
402	   To compile this driver as a module, choose M here: the module will
403	   be called rc_loopback.
404
405config IR_GPIO_CIR
406	tristate "GPIO IR remote control"
407	depends on RC_CORE
408	depends on (OF && GPIOLIB) || COMPILE_TEST
409	---help---
410	   Say Y if you want to use GPIO based IR Receiver.
411
412	   To compile this driver as a module, choose M here: the module will
413	   be called gpio-ir-recv.
414
415config IR_GPIO_TX
416	tristate "GPIO IR Bit Banging Transmitter"
417	depends on RC_CORE
418	depends on LIRC
419	depends on (OF && GPIOLIB) || COMPILE_TEST
420	---help---
421	   Say Y if you want to a GPIO based IR transmitter. This is a
422	   bit banging driver.
423
424	   To compile this driver as a module, choose M here: the module will
425	   be called gpio-ir-tx.
426
427config IR_PWM_TX
428	tristate "PWM IR transmitter"
429	depends on RC_CORE
430	depends on LIRC
431	depends on PWM
432	depends on OF || COMPILE_TEST
433	---help---
434	   Say Y if you want to use a PWM based IR transmitter. This is
435	   more power efficient than the bit banging gpio driver.
436
437	   To compile this driver as a module, choose M here: the module will
438	   be called pwm-ir-tx.
439
440config RC_ST
441	tristate "ST remote control receiver"
442	depends on RC_CORE
443	depends on ARCH_STI || COMPILE_TEST
444	---help---
445	   Say Y here if you want support for ST remote control driver
446	   which allows both IR and UHF RX.
447	   The driver passes raw pulse and space information to the LIRC decoder.
448
449	   If you're not sure, select N here.
450
451config IR_SUNXI
452	tristate "SUNXI IR remote control"
453	depends on RC_CORE
454	depends on ARCH_SUNXI || COMPILE_TEST
455	---help---
456	   Say Y if you want to use sunXi internal IR Controller
457
458	   To compile this driver as a module, choose M here: the module will
459	   be called sunxi-ir.
460
461config IR_SERIAL
462	tristate "Homebrew Serial Port Receiver"
463	depends on RC_CORE
464	---help---
465	   Say Y if you want to use Homebrew Serial Port Receivers and
466	   Transceivers.
467
468	   To compile this driver as a module, choose M here: the module will
469	   be called serial-ir.
470
471config IR_SERIAL_TRANSMITTER
472	bool "Serial Port Transmitter"
473	depends on IR_SERIAL
474	---help---
475	   Serial Port Transmitter support
476
477config IR_SIR
478	tristate "Built-in SIR IrDA port"
479	depends on RC_CORE
480	---help---
481	   Say Y if you want to use a IrDA SIR port Transceivers.
482
483	   To compile this driver as a module, choose M here: the module will
484	   be called sir-ir.
485
486config IR_TANGO
487	tristate "Sigma Designs SMP86xx IR decoder"
488	depends on RC_CORE
489	depends on ARCH_TANGO || COMPILE_TEST
490	---help---
491	   Adds support for the HW IR decoder embedded on Sigma Designs
492	   Tango-based systems (SMP86xx, SMP87xx).
493	   The HW decoder supports NEC, RC-5, RC-6 IR protocols.
494	   When compiled as a module, look for tango-ir.
495
496config IR_ZX
497	tristate "ZTE ZX IR remote control"
498	depends on RC_CORE
499	depends on ARCH_ZX || COMPILE_TEST
500	---help---
501	   Say Y if you want to use the IR remote control available
502	   on ZTE ZX family SoCs.
503
504	   To compile this driver as a module, choose M here: the
505	   module will be called zx-irdec.
506
507endif #RC_DEVICES
508
509endif #RC_CORE
510