0001 # SPDX-License-Identifier: GPL-2.0-only
0002
0003 menuconfig RC_CORE
0004 tristate "Remote Controller support"
0005 depends on INPUT
0006 help
0007 Enable support for Remote Controllers on Linux. This is
0008 needed in order to support several video capture adapters,
0009 standalone IR receivers/transmitters, and RF receivers.
0010
0011 Enable this option if you have a video capture board even
0012 if you don't need IR, as otherwise, you may not be able to
0013 compile the driver for your adapter.
0014
0015 Say Y when you have a TV or an IR device.
0016
0017 if RC_CORE
0018
0019 config BPF_LIRC_MODE2
0020 bool "Support for eBPF programs attached to lirc devices"
0021 depends on BPF_SYSCALL
0022 depends on RC_CORE=y
0023 depends on LIRC
0024 help
0025 Allow attaching eBPF programs to a lirc device using the bpf(2)
0026 syscall command BPF_PROG_ATTACH. This is supported for raw IR
0027 receivers.
0028
0029 These eBPF programs can be used to decode IR into scancodes, for
0030 IR protocols not supported by the kernel decoders.
0031
0032 config LIRC
0033 bool "LIRC user interface"
0034 help
0035 Enable this option to enable the Linux Infrared Remote
0036 Control user interface (e.g. /dev/lirc*). This interface
0037 passes raw IR to and from userspace, which is needed for
0038 IR transmitting (aka "blasting") and for the lirc daemon.
0039
0040 source "drivers/media/rc/keymaps/Kconfig"
0041
0042 menuconfig RC_DECODERS
0043 bool "Remote controller decoders"
0044
0045 if RC_DECODERS
0046
0047 config IR_IMON_DECODER
0048 tristate "Enable IR raw decoder for the iMON protocol"
0049 help
0050 Enable this option if you have iMON PAD or Antec Veris infrared
0051 remote control and you would like to use it with a raw IR
0052 receiver, or if you wish to use an encoder to transmit this IR.
0053
0054 config IR_JVC_DECODER
0055 tristate "Enable IR raw decoder for the JVC protocol"
0056 select BITREVERSE
0057
0058 help
0059 Enable this option if you have an infrared remote control which
0060 uses the JVC protocol, and you need software decoding support.
0061
0062 config IR_MCE_KBD_DECODER
0063 tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol"
0064 select BITREVERSE
0065
0066 help
0067 Enable this option if you have a Microsoft Remote Keyboard for
0068 Windows Media Center Edition, which you would like to use with
0069 a raw IR receiver in your system.
0070
0071 config IR_NEC_DECODER
0072 tristate "Enable IR raw decoder for the NEC protocol"
0073 select BITREVERSE
0074
0075 help
0076 Enable this option if you have IR with NEC protocol, and
0077 if the IR is decoded in software
0078
0079 config IR_RC5_DECODER
0080 tristate "Enable IR raw decoder for the RC-5 protocol"
0081 select BITREVERSE
0082
0083 help
0084 Enable this option if you have IR with RC-5 protocol, and
0085 if the IR is decoded in software
0086
0087 config IR_RC6_DECODER
0088 tristate "Enable IR raw decoder for the RC6 protocol"
0089 select BITREVERSE
0090
0091 help
0092 Enable this option if you have an infrared remote control which
0093 uses the RC6 protocol, and you need software decoding support.
0094
0095 config IR_RCMM_DECODER
0096 tristate "Enable IR raw decoder for the RC-MM protocol"
0097 help
0098 Enable this option when you have IR with RC-MM protocol, and
0099 you need the software decoder. The driver supports 12,
0100 24 and 32 bits RC-MM variants. You can enable or disable the
0101 different modes using the following RC protocol keywords:
0102 'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'.
0103
0104 To compile this driver as a module, choose M here: the module
0105 will be called ir-rcmm-decoder.
0106
0107 config IR_SANYO_DECODER
0108 tristate "Enable IR raw decoder for the Sanyo protocol"
0109 select BITREVERSE
0110
0111 help
0112 Enable this option if you have an infrared remote control which
0113 uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes),
0114 and you need software decoding support.
0115
0116 config IR_SHARP_DECODER
0117 tristate "Enable IR raw decoder for the Sharp protocol"
0118 select BITREVERSE
0119
0120 help
0121 Enable this option if you have an infrared remote control which
0122 uses the Sharp protocol (Sharp, Denon), and you need software
0123 decoding support.
0124
0125 config IR_SONY_DECODER
0126 tristate "Enable IR raw decoder for the Sony protocol"
0127 select BITREVERSE
0128
0129 help
0130 Enable this option if you have an infrared remote control which
0131 uses the Sony protocol, and you need software decoding support.
0132
0133 config IR_XMP_DECODER
0134 tristate "Enable IR raw decoder for the XMP protocol"
0135 select BITREVERSE
0136
0137 help
0138 Enable this option if you have IR with XMP protocol, and
0139 if the IR is decoded in software
0140
0141 endif #RC_DECODERS
0142
0143 menuconfig RC_DEVICES
0144 bool "Remote Controller devices"
0145
0146 if RC_DEVICES
0147
0148 config IR_ENE
0149 tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)"
0150 depends on PNP || COMPILE_TEST
0151 help
0152 Say Y here to enable support for integrated infrared receiver
0153 /transceiver made by ENE.
0154
0155 You can see if you have it by looking at lspnp output.
0156 Output should include ENE0100 ENE0200 or something similar.
0157
0158 To compile this driver as a module, choose M here: the
0159 module will be called ene_ir.
0160
0161 config IR_FINTEK
0162 tristate "Fintek Consumer Infrared Transceiver"
0163 depends on PNP || COMPILE_TEST
0164 help
0165 Say Y here to enable support for integrated infrared receiver
0166 /transceiver made by Fintek. This chip is found on assorted
0167 Jetway motherboards (and of course, possibly others).
0168
0169 To compile this driver as a module, choose M here: the
0170 module will be called fintek-cir.
0171
0172 config IR_GPIO_CIR
0173 tristate "GPIO IR remote control"
0174 depends on (OF && GPIOLIB) || COMPILE_TEST
0175 help
0176 Say Y if you want to use GPIO based IR Receiver.
0177
0178 To compile this driver as a module, choose M here: the module will
0179 be called gpio-ir-recv.
0180
0181 config IR_GPIO_TX
0182 tristate "GPIO IR Bit Banging Transmitter"
0183 depends on LIRC
0184 depends on (OF && GPIOLIB) || COMPILE_TEST
0185 help
0186 Say Y if you want to a GPIO based IR transmitter. This is a
0187 bit banging driver.
0188
0189 To compile this driver as a module, choose M here: the module will
0190 be called gpio-ir-tx.
0191
0192 config IR_HIX5HD2
0193 tristate "Hisilicon hix5hd2 IR remote control"
0194 depends on (OF && HAS_IOMEM) || COMPILE_TEST
0195 help
0196 Say Y here if you want to use hisilicon hix5hd2 remote control.
0197 To compile this driver as a module, choose M here: the module will be
0198 called ir-hix5hd2.
0199
0200 If you're not sure, select N here
0201
0202 config IR_IGORPLUGUSB
0203 tristate "IgorPlug-USB IR Receiver"
0204 depends on USB
0205 help
0206 Say Y here if you want to use the IgorPlug-USB IR Receiver by
0207 Igor Cesko. This device is included on the Fit-PC2.
0208
0209 Note that this device can only record bursts of 36 IR pulses and
0210 spaces, which is not enough for the NEC, Sanyo and RC-6 protocol.
0211
0212 To compile this driver as a module, choose M here: the module will
0213 be called igorplugusb.
0214
0215 config IR_IGUANA
0216 tristate "IguanaWorks USB IR Transceiver"
0217 depends on USB
0218 help
0219 Say Y here if you want to use the IguanaWorks USB IR Transceiver.
0220 Both infrared receive and send are supported. If you want to
0221 change the ID or the pin config, use the user space driver from
0222 IguanaWorks.
0223
0224 Only firmware 0x0205 and later is supported.
0225
0226 To compile this driver as a module, choose M here: the module will
0227 be called iguanair.
0228
0229 config IR_IMON
0230 tristate "SoundGraph iMON Receiver and Display"
0231 depends on USB
0232 help
0233 Say Y here if you want to use a SoundGraph iMON (aka Antec Veris)
0234 IR Receiver and/or LCD/VFD/VGA display.
0235
0236 To compile this driver as a module, choose M here: the
0237 module will be called imon.
0238
0239 config IR_IMON_RAW
0240 tristate "SoundGraph iMON Receiver (early raw IR models)"
0241 depends on USB
0242 help
0243 Say Y here if you want to use a SoundGraph iMON IR Receiver,
0244 early raw models.
0245
0246 To compile this driver as a module, choose M here: the
0247 module will be called imon_raw.
0248
0249 config IR_ITE_CIR
0250 tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver"
0251 depends on PNP || COMPILE_TEST
0252 help
0253 Say Y here to enable support for integrated infrared receivers
0254 /transceivers made by ITE Tech Inc. These are found in
0255 several ASUS devices, like the ASUS Digimatrix or the ASUS
0256 EEEBox 1501U.
0257
0258 To compile this driver as a module, choose M here: the
0259 module will be called ite-cir.
0260
0261 config IR_MCEUSB
0262 tristate "Windows Media Center Ed. eHome Infrared Transceiver"
0263 depends on USB
0264 help
0265 Say Y here if you want to use a Windows Media Center Edition
0266 eHome Infrared Transceiver.
0267
0268 To compile this driver as a module, choose M here: the
0269 module will be called mceusb.
0270
0271 config IR_MESON
0272 tristate "Amlogic Meson IR remote receiver"
0273 depends on ARCH_MESON || COMPILE_TEST
0274 help
0275 Say Y if you want to use the IR remote receiver available
0276 on Amlogic Meson SoCs.
0277
0278 To compile this driver as a module, choose M here: the
0279 module will be called meson-ir.
0280
0281 config IR_MESON_TX
0282 tristate "Amlogic Meson IR TX"
0283 depends on ARCH_MESON || COMPILE_TEST
0284 help
0285 Say Y if you want to use the IR transmitter available on
0286 Amlogic Meson SoCs.
0287
0288 To compile this driver as a module, choose M here: the
0289 module will be called meson-ir-tx.
0290
0291 config IR_MTK
0292 tristate "Mediatek IR remote receiver"
0293 depends on ARCH_MEDIATEK || COMPILE_TEST
0294 help
0295 Say Y if you want to use the IR remote receiver available
0296 on Mediatek SoCs.
0297
0298 To compile this driver as a module, choose M here: the
0299 module will be called mtk-cir.
0300
0301 config IR_NUVOTON
0302 tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
0303 depends on PNP || COMPILE_TEST
0304 help
0305 Say Y here to enable support for integrated infrared receiver
0306 /transceiver made by Nuvoton (formerly Winbond). This chip is
0307 found in the ASRock ION 330HT, as well as assorted Intel
0308 DP55-series motherboards (and of course, possibly others).
0309
0310 To compile this driver as a module, choose M here: the
0311 module will be called nuvoton-cir.
0312
0313 config IR_PWM_TX
0314 tristate "PWM IR transmitter"
0315 depends on LIRC
0316 depends on PWM
0317 depends on OF || COMPILE_TEST
0318 help
0319 Say Y if you want to use a PWM based IR transmitter. This is
0320 more power efficient than the bit banging gpio driver.
0321
0322 To compile this driver as a module, choose M here: the module will
0323 be called pwm-ir-tx.
0324
0325 config IR_REDRAT3
0326 tristate "RedRat3 IR Transceiver"
0327 depends on USB
0328 select NEW_LEDS
0329 select LEDS_CLASS
0330 help
0331 Say Y here if you want to use a RedRat3 Infrared Transceiver.
0332
0333 To compile this driver as a module, choose M here: the
0334 module will be called redrat3.
0335
0336 config IR_RX51
0337 tristate "Nokia N900 IR transmitter diode"
0338 depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE
0339 help
0340 Say Y or M here if you want to enable support for the IR
0341 transmitter diode built in the Nokia N900 (RX51) device.
0342
0343 The driver uses omap DM timers for generating the carrier
0344 wave and pulses.
0345
0346 config IR_SERIAL
0347 tristate "Homebrew Serial Port Receiver"
0348 help
0349 Say Y if you want to use Homebrew Serial Port Receivers and
0350 Transceivers.
0351
0352 To compile this driver as a module, choose M here: the module will
0353 be called serial-ir.
0354
0355 config IR_SERIAL_TRANSMITTER
0356 bool "Serial Port Transmitter"
0357 depends on IR_SERIAL
0358 help
0359 Serial Port Transmitter support
0360
0361 config IR_SPI
0362 tristate "SPI connected IR LED"
0363 depends on SPI && LIRC
0364 depends on OF || COMPILE_TEST
0365 help
0366 Say Y if you want to use an IR LED connected through SPI bus.
0367
0368 To compile this driver as a module, choose M here: the module will be
0369 called ir-spi.
0370
0371 config IR_STREAMZAP
0372 tristate "Streamzap PC Remote IR Receiver"
0373 depends on USB
0374 help
0375 Say Y here if you want to use a Streamzap PC Remote
0376 Infrared Receiver.
0377
0378 To compile this driver as a module, choose M here: the
0379 module will be called streamzap.
0380
0381 config IR_SUNXI
0382 tristate "SUNXI IR remote control"
0383 depends on ARCH_SUNXI || COMPILE_TEST
0384 help
0385 Say Y if you want to use sunXi internal IR Controller
0386
0387 To compile this driver as a module, choose M here: the module will
0388 be called sunxi-ir.
0389
0390 config IR_TOY
0391 tristate "Infrared Toy and IR Droid"
0392 depends on USB
0393 help
0394 Say Y here if you want to use the Infrared Toy or IR Droid, USB
0395 versions.
0396
0397 To compile this driver as a module, choose M here: the module will be
0398 called ir_toy.
0399
0400 config IR_TTUSBIR
0401 tristate "TechnoTrend USB IR Receiver"
0402 depends on USB
0403 select NEW_LEDS
0404 select LEDS_CLASS
0405 help
0406 Say Y here if you want to use the TechnoTrend USB IR Receiver. The
0407 driver can control the led.
0408
0409 To compile this driver as a module, choose M here: the module will
0410 be called ttusbir.
0411
0412 config IR_WINBOND_CIR
0413 tristate "Winbond IR remote control"
0414 depends on (X86 && PNP) || COMPILE_TEST
0415 select NEW_LEDS
0416 select LEDS_CLASS
0417 select BITREVERSE
0418 help
0419 Say Y here if you want to use the IR remote functionality found
0420 in some Winbond SuperI/O chips. Currently only the WPCD376I
0421 chip is supported (included in some Intel Media series
0422 motherboards).
0423
0424 To compile this driver as a module, choose M here: the module will
0425 be called winbond_cir.
0426
0427 config RC_ATI_REMOTE
0428 tristate "ATI / X10 based USB RF remote controls"
0429 depends on USB
0430 help
0431 Say Y here if you want to use an X10 based USB remote control.
0432 These are RF remotes with USB receivers.
0433
0434 Such devices include the ATI remote that comes with many of ATI's
0435 All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote,
0436 Medion RF remote, and SnapStream FireFly remote.
0437
0438 This driver provides mouse pointer, left and right mouse buttons,
0439 and maps all the other remote buttons to keypress events.
0440
0441 To compile this driver as a module, choose M here: the module will be
0442 called ati_remote.
0443
0444 config RC_LOOPBACK
0445 tristate "Remote Control Loopback Driver"
0446 help
0447 Say Y here if you want support for the remote control loopback
0448 driver which allows TX data to be sent back as RX data.
0449 This is mostly useful for debugging purposes.
0450
0451 If you're not sure, select N here.
0452
0453 To compile this driver as a module, choose M here: the module will
0454 be called rc_loopback.
0455
0456 config RC_ST
0457 tristate "ST remote control receiver"
0458 depends on ARCH_STI || COMPILE_TEST
0459 help
0460 Say Y here if you want support for ST remote control driver
0461 which allows both IR and UHF RX.
0462 The driver passes raw pulse and space information to the LIRC decoder.
0463
0464 If you're not sure, select N here.
0465
0466 config RC_XBOX_DVD
0467 tristate "Xbox DVD Movie Playback Kit"
0468 depends on USB
0469 help
0470 Say Y here if you want to use the Xbox DVD Movie Playback Kit.
0471 These are IR remotes with USB receivers for the Original Xbox (2001).
0472
0473 To compile this driver as a module, choose M here: the module will be
0474 called xbox_remote.
0475
0476 source "drivers/media/rc/img-ir/Kconfig"
0477
0478 endif #RC_DEVICES
0479
0480 endif #RC_CORE